1.动画
之前用的挺顺手的AutoLayout动画突然不能用了,深感奇怪,遂仔细研究了一下。
之前尝试如下代码
[animationView layoutIfNeeded];
[UIView animateWithDuration:1.0 animations:^{
//更新约束
[animationView layoutIfNeeded];
}];
如上代码虽然可以最终到达更新后的位置显示 但是没有动画效果 无论怎样更改duration都无效
后发现如果把 animationView更改为animationView.superView 则动画正常
其实仔细考虑一下也确实应该如此动画显示在superView上面 所以需要实时更新layout的是superView 而非animationView本身
2.更新约束
使用mas_updateConstraints进行约束更新的时候经常会提示约束冲突,这时候需要注意update的适用条件
mas_updateConstraints方法里对同一个布局的理解就是相对的元素也是一致才行,即这里这样做才算一次update
网友评论