我不太了解自动布局。由于我正在尝试使用某些UIElement制作多个动画,因此我是否需要停用/激活约束,还是应该使用锚点的优先级?
答案 0 :(得分:0)
您可以观看WWDC video about Auto Layout tech。自动布局的核心是Linear Programming。它使用constraint solver解决了这些线性问题。
作为WiKi中的图片,这些自动布局规则与Problem constraints
相同,并且只有全局最优值才能解决这些约束。如果没有解决这些约束的全局最优方法,那么这些规则就会发生冲突。
从WWDC视频中,我学会了通过禁用A组然后激活B组来定义约束组以实现动画。有时我喜欢修改约束的属性以实现动画效果。如果这种方法使我的代码简洁易懂,那么我会采用这种方法。
可以将自动布局约束从@IBOutlet
和xib
绑定到storyboard
。 NSLayoutConstraint
有一个名为isActive的属性。您可以定义约束组。但是在您激活/停用约束之前,请始终先执行停用。为了避免冲突的约束。我是从WWDC视频中获得的。
您可以在运行时更改约束的multiplier和constant。更新约束的属性后,调用UIView
的{{3}}和setNeedsupdateConstraints以应用这些更改。