在我的应用程序中,我经常使用约束,在大多数情况下还使用动画。在某些情况下,我需要删除约束并添加新约束。
因为我也需要支持 iOS 7,所以我无法使用 active
属性,否则这将是我的解决方案。
移除约束的方法是在UIView
上使用removeConstraint
方法。
是否可以创建类似
的方法constraint.remove()
所以您不必知道哪个 View 负责约束?
最佳答案
我所做的是创建我希望能够添加/删除的约束数组,并简单地使用以下内容:
@property NSMutableArray *newConstraints;
填写newConstraints
iOS7 和 iOS8:
[self.viewToChange addConstraints:self.newConstraints];
[self.viewToChange removeConstraints:self.newConstraints];
或者仅限iOS8,使用新机制
[NSLayoutConstraint activateConstraints:self.newConstraints];
[NSLayoutConstraint deactivateConstraints:self.newConstraints];
有了它,您可以应用一个集,删除该集并应用一个新集。
如果您可以识别哪些约束是哪些,您也可以从 Storyboard 集创建初始列表。
关于ios - 删除 NSLayoutConstraint 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30102086/