在 AutoLayout 和 Masonry 中使用[UIVie
2019-10-29 本文已影响0人
暗光的技术小站
问题描述:
一个UIImageView做动画时,未按设置的frame做动画。
原因:
由于用Masonry设置了约束,设置动画时,需要用updateConstraints重设约束
AutoLayout中例子如下所示:
[UIView animateWithDuration:2.0f delay:0 animations:^{
// 修改 animationView 的约束
animationView.widthConstraint.constant = 20.f;
// 注意这里要调用 animationView 父视图的 layoutIfNeeded 方法,这里为superview
[superview layoutIfNeeded];
} completion:^(BOOL finished) {
}];