草庐IT

NSLayoutConstraint

全部标签

ios - 基于屏幕高度子类化 NSLayoutConstraint 常量

我有一个带有选项卡栏的项目,每个选项卡都有一个自定义导航栏。每个导航栏UIView都在Storyboard中设置了高度约束常量。我想将这个NSLayoutConstraint子类化(用于Nav高度),以便它改变iPhoneX的高度。iPhoneX上的导航栏需要更高,因为我没有使用“outof盒子”对象,我的约束需要手动设置。本质上,我想在子类中做类似下面的事情,这样我就不必重复一堆代码和做不必要的导出:overridefuncviewWillLayoutSubviews(){navBarHeightConstraint.constant=navBarHeightConstraintCo

ios - 自定义TableViewCell触发NSLayoutConstraint错误 'UIView-Encapsulated-Layout-Height'

我对单元格使用自动高度。每次我想用新数据(这里是模型变量)更新我的单元格时,我更新了我的自动布局约束,但我得到了一个错误。这里只是为了说明问题,我什至没有更改约束。我只是要求重新计算布局。在单元格的第一个初始化:没有警告,没问题。错误:代码:tableView.rowHeight=UITableViewAutomaticDimensionoverridefunctableView(_tableView:UITableView,estimatedHeightForRowAtindexPath:IndexPath)->CGFloat{return500}classTestTableView

ios - 如何以编程方式更改或更新 NSLayoutConstraint

我已经使用代码以编程方式实现了AutoLayout:-(void)addConstraintWithListNavigationViewController:(UIView*)listViewNavigationy:(CGFloat)yheight:(CGFloat)height{//WIDTH_ListTableView=0.4//setx=0;NSLayoutConstraint*constraintToAnimate1=[NSLayoutConstraintconstraintWithItem:listViewNavigationattribute:NSLayoutAttribu

ios - 为什么弱 IBOutlet NSLayoutConstraint 在我使其处于非事件状态时变为 nil?

我的应用程序中有一个IBOutletNSLayoutConstraint。很简单:@property(nonatomic,weak)IBOutletNSLayoutConstraint*leftConstraint;在某些时候我想停用这个约束:self.leftConstraint.active=NO;它发生在从cellForRowAtIndexPath:调用的方法中。约束在上面一行之后变为nil。但是,如果我将此属性声明为strong那么没关系,它不会变为nil。谁能解释为什么会这样? 最佳答案 当您的socket弱时,唯一的强引

iOS 以编程方式为表格 View 单元格内容创建 NSLayoutConstraint

我想在cellForRowAtIndexPath中添加一些View到我的单元格内容View并为它们添加约束,但没有任何效果。我有这样的东西:NSLayoutConstraint*constraint=[NSLayoutConstraintconstraintWithItem:imageViewattribute:NSLayoutAttributeLeftrelatedBy:NSLayoutRelationEqualtoItem:cell.contentViewattribute:NSLayoutAttributeLeftmultiplier:1.0fconstant:10.0f];[c

ios - NSLayoutConstraint 使 ViewController 崩溃

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:presentViewController:crashoniOS6(AutoLayout)在我的应用程序中单击按钮时出现此错误:2012-06-2821:43:36.860AppName[2403:707]***Terminatingappduetouncaughtexception'NSInvalidUnarchiveOperationException',reason:'CouldnotinstantiateclassnamedNSLayoutConstraint'***Firstthrowcallsta

ios - 什么是 NSLayoutConstraint "UIView-Encapsulated-Layout-Height"以及我应该如何强制它干净地重新计算?

我有一个在iOS8下运行的UITableView,我在Storyboard中使用来自约束的自动单元格高度。我的一个单元格包含一个UITextView,我需要它根据用户输入收缩和扩展-点击以收缩/扩展文本。我通过向TextView添加运行时约束并更改约束上的常量以响应用户事件来执行此操作:-(void)collapse:(BOOL)collapse;{_collapsed=collapse;if(collapse)[_collapsedtextHeightConstraintsetConstant:kCollapsedHeight];//70.0else[_collapsedtextHe

ios - 删除 NSLayoutConstraint 的正确方法

在我的应用程序中,我经常使用约束,在大多数情况下还使用动画。在某些情况下,我需要删除约束并添加新约束。因为我也需要支持iOS7,所以我无法使用active属性,否则这将是我的解决方案。移除约束的方法是在UIView上使用removeConstraint方法。是否可以创建类似的方法constraint.remove()所以您不必知道哪个View负责约束? 最佳答案 我所做的是创建我希望能够添加/删除的约束数组,并简单地使用以下内容:@propertyNSMutableArray*newConstraints;填写newConstrai

iOS NSLayoutConstraint 使用 constraintWithItem 固定宽度

我想设置一个约束,以编程方式为UIButton提供固定(恒定)宽度。我知道我可以使用constraintsWithVisualFormat来做到这一点,但我一直在使用constraintWithItem来处理代码中的所有约束。为了好奇/一致性,我想知道是否有任何方法可以使用constraintWithItem来做到这一点。 最佳答案 找到我的解决方案。只需将另一个对象设置为nil,将另一个属性设置为NSLayoutAttributeNotAnAttribute(这是我没有想到的)并使用固定宽度的常量参数:[selfaddConstr

ios - 我可以更改 NSLayoutConstraint 的乘数属性吗?

我在一个superview中创建了两个view,然后在view之间添加了约束:_indicatorConstrainWidth=[NSLayoutConstraintconstraintWithItem:self.view1attribute:NSLayoutAttributeWidthrelatedBy:NSLayoutRelationEqualtoItem:self.view2attribute:NSLayoutAttributeWidthmultiplier:1.0fconstant:0.0f];[_indicatorConstrainWidthsetPriority:UILay