以编程方式安装/卸载约束

Eri*_*ric 23 objective-c interface-builder ios autolayout nslayoutconstraint

有没有办法以constraint编程方式安装和卸载Xcode界面构建器?

在此输入图像描述

A C*_*A C 22

通过CTRL +连接IBLutlet以获取NSLayoutConstraint并单击约束并将其拖动到viewController(例如@property (weak, nonatomic) IBOutlet NSLayoutConstraint *constraint;).

要删除约束:

[self.view removeConstraint:constraint]
Run Code Online (Sandbox Code Playgroud)

用于安装约束:

[self.view addConstraint:constraint]
Run Code Online (Sandbox Code Playgroud)

  • 在iOS 8中,约束上有一个`active`属性,对应于XCode中的"uninstalled"设置.只需在XCode中使用备用值保留一个约束,然后在运行时通过交替它们的"活动"状态在它们之间切换. (30认同)
  • 只是为了记录!如果在代码中添加/删除约束,则对约束进行弱引用可能会很危险!它可能会被释放! (18认同)
  • 不建议使用此解决方案。请改用NSLayoutConstraint的active属性。 (2认同)