AutoLayout 动画备忘

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容