在 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) {

}];

上一篇下一篇

猜你喜欢

热点阅读