我想用我的视图执行基于手势的交互式动画,这需要将屏幕中心的视图移动到屏幕的左上角。我似乎无法在两个不同的x / y约束的位置之间进行插值(只改变常量),所以作为替代方案,我想也许我可以在我的故事板中布置视图,然后通过直接更改框架来动画它们。有没有一个好方法可以做到这一点,还是一个坏主意?
答案 0 :(得分:1)
您不需要删除它们!只需停用它们即可。
如果您已经看过这些文档,那么您应该知道constraints
的{{1}}属性会返回它作为UIView
的约束。您只需循环遍历此数组并停用所有约束!
[NSLayoutConstraint]
或使用for constraint in someView.constraints {
constraint.active = false
}
:
forEach
停用约束而不是删除约束的优点是您可以在需要时再次轻松激活约束。
答案 1 :(得分:0)
如果我是你,我会选择动画约束。即使由于某种原因无法更改约束常量,您仍然可以删除先前的约束并添加新约束。 为此,您需要:
Animate with:
UIView.animateWithDuration(0.5){ self.view.layoutIfNeeded() }