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 将对象堆叠在一起
iOS7中的NSLayoutConstraint动画持续时间