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

26

有没有一种方法可以通过编程的方式安装和卸载Xcode界面构建器中的约束(constraint)?

输入图像说明


看看 GitHub 上的开源项目,比如 Mansory 和 Pure Layout。它们更好,更容易编码。 - Wingzero
有没有办法让这个问题重新打开,因为现在问题的意思已经很明显了,并且正确答案在一个过时答案的评论中? - timeSmith
1个回答

22

通过CTRL+单击约束并将其拖动到视图控制器中,连接 NSLayoutConstraint 的 IBOutlet(例如:@property (weak, nonatomic) IBOutlet NSLayoutConstraint *constraint;)。

要移除约束:

[self.view removeConstraint:constraint]
安装约束条件的步骤:
[self.view addConstraint:constraint]

那么,如果一个约束条件最初是未安装的,那么通过addConstraint将变为已安装? - Eric
@nhgrif 那么我该如何实现我在更新中写的内容呢? - Eric
37
在 iOS 8 中,约束(constraint)具有“激活”属性,对应于 XCode 中的“未安装”设置。只需在 XCode 中保留一个带有替代值的未安装约束(constraint),然后在运行时通过交替它们的“激活”状态来在它们之间切换。 - Pat Niemeyer
22
只是为了记录!如果在代码中添加/移除约束并且使用的是弱引用,可能会很危险!它可能会被释放!请注意。 - ullstrm
4
该解决方案已被弃用,请使用NSLayoutConstraint的active属性代替。 - scord
显示剩余10条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接