我有一个视图,我想根据动画块内的顶部间距约束移动它。
这是我使用的代码。约束正在改变,但框架仍然是相同的;我该怎么办?
我对名为IBOutlet
topConstraint
[UIView animateWithDuration:0.3f animations:^{
self.topConstraint.constant -= 80 ;
[self.view layoutIfNeeded];
}];
我已经阅读了有关此内容的所有内容,但它似乎无法正常工作。
答案 0 :(得分:4)
你试过了吗?
[self.view setNeedsUpdateConstraints];
答案 1 :(得分:0)
self.topConstraint.constant = newValue;
[self.view setNeedsUpdateConstraints];
[UIView animateWithDuration: animationDuration
delay: animationDelay
options: UIViewAnimationOptionCurveEaseOut
animations: ^(void)
{
[self.view layoutIfNeeded];
}
completion: nil];
答案 2 :(得分:0)
这就是它在Swift 3中的作用
self.view.setNeedsUpdateConstraints()
UIView.animate(withDuration: 1.0,
animations: {
self.horizontalCenterConstraint.constant = -23
self.view.layoutIfNeeded()
}, completion: nil)