Ant*_*ine 15 xcode ios autolayout nslayoutconstraint swift
在我的应用程序中,我正在使用约束工作,在大多数情况下也使用动画.在某些情况下,我需要删除约束并添加新约束.
由于我还需要支持iOS 7,我无法使用该active属性,这对我来说也是解决方案.
删除约束的removeConstraint方法是在a上使用该方法UIView.
是否可以创建一个类似的方法
constraint.remove()
Run Code Online (Sandbox Code Playgroud)
所以你不必知道哪个视图正在关注约束?
Ror*_*nel 15
我所做的是创建我希望能够添加/删除的约束数组,并简单地使用以下内容:
@property NSMutableArray *newConstraints;
Run Code Online (Sandbox Code Playgroud)
填写 newConstraints
iOS7和iOS8:
[self.viewToChange addConstraints:self.newConstraints];
[self.viewToChange removeConstraints:self.newConstraints];
Run Code Online (Sandbox Code Playgroud)
或仅限iOS8,使用新机制
[NSLayoutConstraint activateConstraints:self.newConstraints];
[NSLayoutConstraint deactivateConstraints:self.newConstraints];
Run Code Online (Sandbox Code Playgroud)
使用此功能,您可以应用一组,删除该组并应用一组新组.
如果您可以识别哪些约束,则还可以从故事板集创建初始列表.
我最终使用autoRemove了PureLayout库提供的方法:https://github.com/smileyborg/PureLayout
此方法使用firstItem或secondItem查找commonSuperview,并从正确的视图中删除约束.
这导致了这一个班轮:
containerTopConstraint.autoRemove()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9018 次 |
| 最近记录: |