最好的方法是什么,停用约束或更改优先级?
What is the best approach, deactivating constraints or changing the priority?
我对 quick 不太了解,AutoLayout。由于我正在尝试使用一些 UIElement 制作多个动画,我需要 deactivate/activate 约束还是应该使用锚点的优先级?
您可以观看 WWDC video about Auto Layout tech. The core of auto layout is Linear Programming. It use constraint solver 来解决那些线性问题。
如WiKi中的图像,自动布局的规则与Problem constraints
相同,并且只有全局最优解来解决这些约束。如果没有解决这些约束的全局最优解,那么这些规则就会发生冲突。
从 WWDC 视频中,我学会了定义约束组来实现动画,方法是停用 A 组,然后激活 B 组。有时候喜欢修改约束的属性来实现动画效果。如果这种方法使我的代码简洁易懂,那么我会采用这种方法。
属性:有效
自动布局约束可以从 xib
和 storyboard
绑定到 @IBOutlet
。 NSLayoutConstraint
有一个名为 isActive 的 属性。您可以定义约束组。但是在你激活/取消激活约束之前,总是先取消激活。为了避免约束冲突。我从 WWDC 视频中得到了这个。
属性:常量,乘数
您可以更改 UIView
的 multiplier and constant of a constraint in runtime. After updating properties of a constraint, call setNeedsupdateConstraints and updateConstraintsifNeeded 以应用这些更改。
我对 quick 不太了解,AutoLayout。由于我正在尝试使用一些 UIElement 制作多个动画,我需要 deactivate/activate 约束还是应该使用锚点的优先级?
您可以观看 WWDC video about Auto Layout tech. The core of auto layout is Linear Programming. It use constraint solver 来解决那些线性问题。
如WiKi中的图像,自动布局的规则与Problem constraints
相同,并且只有全局最优解来解决这些约束。如果没有解决这些约束的全局最优解,那么这些规则就会发生冲突。
从 WWDC 视频中,我学会了定义约束组来实现动画,方法是停用 A 组,然后激活 B 组。有时候喜欢修改约束的属性来实现动画效果。如果这种方法使我的代码简洁易懂,那么我会采用这种方法。
属性:有效
自动布局约束可以从 xib
和 storyboard
绑定到 @IBOutlet
。 NSLayoutConstraint
有一个名为 isActive 的 属性。您可以定义约束组。但是在你激活/取消激活约束之前,总是先取消激活。为了避免约束冲突。我从 WWDC 视频中得到了这个。
属性:常量,乘数
您可以更改 UIView
的 multiplier and constant of a constraint in runtime. After updating properties of a constraint, call setNeedsupdateConstraints and updateConstraintsifNeeded 以应用这些更改。