jjzjj

nslayoutconstraint

全部标签

ios - 当 View 位于 View 层次结构的顶部时,以编程方式使用自动布局在屏幕上居中 UIView

我已经实现了一个弹出式UIView,我通过[[[[UIApplicationsharedApplication]windows]lastObject]addSubview:popupView]添加到最顶层的窗口,因此它会出现在所有内容之上,甚至是键盘。我需要确保我以编程方式创建的这个弹出View将始终保持在屏幕中心。我试图添加自动布局约束,但它不喜欢我试图与最顶层窗口对齐的事实。你能告诉我如何做到这一点吗?谢谢。这就是我已经实现的,它将生成一个(非常详细的)错误,指出“View层次结构没有为约束准备......约束的项目必须是该View的后代”:[popupViewsetTransla

ios - 带有自动布局的自定义 UITableViewCell 会导致警告

对于我的项目,我需要显示包含大量信息的医生列表,为此我以编程方式创建了一个自定义单元格。以下是我的单元格View的结构:Cell.contentView|-->UIView|-->UILabel(Title)|-->UILabel(Subtitle)|-->UIView(asimpleseparator,witha1pxheightconstraint)|-->UILabel(Address,multilines)这是我真正拥有的简化结构,但足以带来警告。这是警告:Unabletosimultaneouslysatisfyconstraints.Probablyatleastoneof

ios - 如何使用自动布局以编程方式调整 View 大小

我使用自动布局(xcode6)在xib中设计我的屏幕。我必须使用自动布局以编程方式重新设计屏幕。我的屏幕上有4个水平View。我必须隐藏第三个View并使用自动布局将第四个View移动到第三个View的位置。如何以编程方式更新约束。 最佳答案 您可以使用NSLayoutConstraint并将适当的IBOutlet分配给您的任何约束,然后在您想要更改View大小的地方使用constant属性NSLayoutConstraint更改值。例如inyourviewController.h@property(strong,nonatomic

ios - 我应该在 UIView 子类中的什么地方安装我的自动布局约束?

我正在子类化UIView以构建自定义控件。我想在哪里添加subview的布局约束?我已将它们添加到init中,但我认为除了初始化之外,这里不适合做任何事情。我不想在layoutSubviews中做,因为我担心后续调用会重新创建约束。这种东西放在什么地方比较合适? 最佳答案 这里有很多选项。我认为initWithFrame:和layoutSubviews(通过适当的检查以避免重复添加)都可以工作,但是updateConstraints是在subview上安装约束的规范位置。您还需要避免在那里重复添加。

ios - 如何以编程方式从 UIView 获取约束 "bottomSpace"?

我需要以编程方式更改某些View的中心。10个或更多。我不想将每个底部约束添加为导出,所以我可以从如下代码中搜索它们:for(NSLayoutConstraint*constraintinview.constraints)我应该检查哪些属性?我需要限制superview的底部空间。 最佳答案 您听说过IBOutletCollection吗?当您将任何对象从IB链接到VC代码时,在弹出窗口中您可以选择IBOutletCollection选项。链接所有你想要的约束后,只迭代这个集合:)@property(strong,nonatomic

ios - 在 cellForRowAtIndexPath 中更改 NSLayoutConstraint 常量不断导致 "unable to satisfy constraints"错误

我的应用程序中有很多这样的单元格。有些self调整大小,有些则没有。例如,假设我们有一个自定义的UITableViewCell。100高度。在它的内容View中,我们拖动了2个UIView。UIViewTop和UIViewBottom。每个50高。UIViewTop我们放在内容View的顶部,并给它Leading/Trailing/Top/Height约束。UIViewBottom我们放在内容View的底部,并给它Leading/Trailing/Bottom/Height约束。我们还在UIViewTop和UIViewBottom之间提供VerticalSpacing约束。现在,有时我

ios - 为什么自动布局对此布局有问题

我在所有屏幕尺寸上的Autolayoutwidth键盘扩展时遇到了一些问题。起初它工作正常,但突然开始吐出一些错误,无论屏幕的宽度如何。我没有做任何更改,我什至尝试删除应用程序、清理项目并从头开始布置所有内容。这是我的布局:|-8-(50)->=8-(130)-8-(130)-8-|priority(50)=750,everythingelse=1000在superView和按钮1之间有一个8磅的空间,它的宽度为50,但优先级为750。然后在按钮1和按钮2之间有一个8点或更大的空间,其宽度为130。然后在按钮2和按钮3之间有一个8磅的空间,它的宽度也为130。最后,按钮3和superV

ios - 将 View 的 CenterX 限制为父 View 总宽度的一部分

我想将subview的中心限制在父View总宽度的1/6。例如:如果父View的宽度=6subview的CenterX=1我在superview类(self)中写了以下代码来约束aSubview的centerX,它崩溃了://Hitshere[NSLayoutConstraintconstraintWithItem:self.aSubviewattribute:NSLayoutAttributeCenterXtoItem:selfattribute:NSLayoutAttributeWidthmultiplier:1/6constant:0];//Crasheshere有没有办法用NS

ios - 动画约束更改不起作用

我有一个View,我想根据动画block内的顶部间距约束移动它。这是我使用的代码。约束在变,但框架还是一样的;我该怎么办?我有一个IBOutlet约束名为:topConstraint[UIViewanimateWithDuration:0.3fanimations:^{self.topConstraint.constant-=80;[self.viewlayoutIfNeeded];}];我已经阅读了有关此的所有内容,但它似乎不起作用。 最佳答案 你试过吗:[self.viewsetNeedsUpdateConstraints];

ios - 更新界面构建器以匹配约束

在XCodeinterfacebuilder中,当我定义一些不同于“当前”控制状态的约束时,会有红线,现在我想应用约束并删除红线,应该怎么办我愿意。检查附图,我想让A中的底部空间与我在B中定义的完全一样,即8。 最佳答案 红线通常意味着您遗漏了一些约束并且Xcode不知道将其放置在何处(在您的情况下可能是标签的高度约束)。如果所有约束都设置正确但元素位置错误,它会在它所属的位置显示一个橙色矩形。在这种情况下,您可以选择元素并按Cmd+alt+=将其移动到正确的位置。 关于ios-更新界面