在Swift中以编程方式更新约束的常量属性?
我想animation一个对象,所以我声明一个约束,并将其添加到视图。 然后更新UIView
animation中的约束的constant
属性。 为什么这个代码不移动对象?
UIView.animateWithDuration(1, animations: { myConstraint.constant = 0 self.view.updateConstraints(myConstraint) })
为了声明一个animation,你不能重新定义约束并调用updateConstraints
。 你应该改变你的约束constant
,并按照下面的格式:
self.view.layoutIfNeeded() UIView.animateWithDuration(1, animations: { self.sampleConstraint.constant = 20 self.view.layoutIfNeeded() })