iOS NSLayoutConstraint 设置 multiplier ,多次更新无效问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS NSLayoutConstraint 设置 multiplier ,多次更新无效问题相关的知识,希望对你有一定的参考价值。

参考技术A 使用以下方法设置宽度约束实现一个进度指示器,进度从0到1,设置multiplier从0到1,当设置为0时再次更新为0.5等数值时失效;

当multiplier设置为0时,view2及attr2被系统设置为无效,如果继续通过原有约束更新multiplier就会获取不到view2和attr2,导致与预期效果存在差异。只需要控制当multiplier为0时,设置一个比较小的数值,使效果接近于0即可解决。还有其他方式,就不列出了,欢迎评论区补充。

停用 NSLayoutConstraint iOS 7

【中文标题】停用 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:

【讨论】:

以上是关于iOS NSLayoutConstraint 设置 multiplier ,多次更新无效问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 8 中更改 NSLayoutConstraint 的“乘数”属性的值

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

iOS开发NSLayoutConstraint代码自动布局

iOS7中的NSLayoutConstraint动画持续时间

如何在 iOS 6 中使用 NSLayoutConstraint?

如何修改NSLayoutConstraint的multiplier