【发布时间】:2016-02-19 00:59:22
【问题描述】:
对于具有您希望经常更改的相对值的约束,是否有推荐的模式?
以下是场景:我有一个类似滑块的控件,我将拇指视图相对于其父视图的宽度进行定位。我可以轻松地为此创建一个相对约束:将子视图约束到其父视图的相对边缘,并使用乘数设置其相对位置。
问题是拇指视图需要移动:当用户滑动它时,它的相对位置需要改变。如果可以动态更改乘数,那将是解决方案。但是,NSLayoutConstraint.multiplier 是只读属性!
另一种方法是将.constant 值设置为相对于父级宽度的显式值。但是,如果父视图的大小发生变化,这就会崩溃——在更新周期的适当点捕捉视图宽度的变化以更新约束是很棘手的。
有没有更好的方法来做到这一点?似乎应该是可能的,但我还没有完全概念化苹果的思考方式......
有什么想法吗?谢谢!
【问题讨论】:
标签: ios autolayout uiviewanimation nslayoutconstraint