以编程方式编辑NSLayoutConstraint常量?

时间:2015-12-01 18:33:46

标签: ios objective-c autolayout nslayoutconstraint

我有一个与NSLayoutConstraint相关联的IBOutlet。在我的XIB中,约束具有常量值,其他几个用于特定布局。例如,紧凑宽度x任何高度。

以编程方式我知道我可以像这样编辑常量:

myConstraint.constant = 10;

但是,我想编辑各种布局的附加常量。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您可以使用安装和卸载功能。例如,假设我们有一个宽度约束,它安装在hAny / wCompact中,我们为这个约束创建IBOulet。然后它会影响hAny / wCompact。然后我们可以去其他大小的类说hCompact / wCompact。并使之前的约束卸载并在hComp / wComp中创建一个新的宽度约束。我们可以为新创建的约束创建一个新的IBOutlet。它对hComp / wComp有影响。

myConstraintInOneSizeClass.constant = 10;
myConstraintInOtherSizeClass.constant = 20;

它们安装在自己的大小类

安装和卸载不同大小类的约束:

https://developer.apple.com/library/ios/recipes/xcode_helpIB_adaptive_sizes/chapters/EnableAndDisableConstraints.html

希望它可以提供帮助。