AutoLayout 动画备忘

2018-07-04  本文已影响0人  有态度的程序猿

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

上一篇下一篇

猜你喜欢

热点阅读