在Swift中以编程方式更新约束的常量属性?

我想animation一个对象,所以我声明一个约束,并将其添加到视图。 然后更新UIViewanimation中的约束的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() })