停用 NSLayoutConstraint iOS 7

Posted

技术标签:

【中文标题】停用 NSLayoutConstraint iOS 7【英文标题】:Deactive NSLayoutConstraint iOS7 【发布时间】:2015-07-01 16:48:00 【问题描述】:

我正在开发一个目标为 ios7 的应用程序,当我将应用程序部署到 iPhone 4 时出现以下错误。

[NSLayoutConstraint setActive:]: unrecognized selector sent to instance

我对此进行了调查,结果发现 setActive 是在 iOS8 中引入的。问题是,对于大约 iOS7 的约束,setActive 的替代方案是什么?我需要以编程方式操纵约束,似乎无法在任何地方找到答案。

【问题讨论】:

【参考方案1】:

另一种方法是在视图中添加/删除约束:

[myView addConstraint:constraint];

[myView removeConstraint:constraint];

这从 iOS 6.0 开始可用。 https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/index.html#//apple_ref/occ/instm/UIView/addConstraint:

【讨论】:

以上是关于停用 NSLayoutConstraint iOS 7的主要内容,如果未能解决你的问题,请参考以下文章

激活/停用自动布局 NSLayoutConstraint

用函数停用在 viewdidload 中声明的 nslayoutconstraint

如何激活以前停用的约束?

iOS:使用 NSLayoutConstraint 将对象堆叠在一起

iOS开发NSLayoutConstraint代码自动布局

iOS7中的NSLayoutConstraint动画持续时间