需求
一直以来iOS的 Autolayout 都是一个很不错的功能,结合第三方 Masonry 可以节省很多工作成本。但是如果使用 Autolayout 来制作动画,那么就需要注意一下。不然就会像我一样,遇坑踩坑,越陷越深。
使用xib实现动画
使用情景:自定义一个UIView ViewA
,实现由下往上弹窗效果。
效果如下
假如我们是使用xib创建自定义弹窗视图,一般我们都会在xib上做好了约束的条件,之后在.m文件里面实现视图的初始化操作。
实现动画的原则是,在ViewA
执行动画之前,需要将ViewA
最终约束条件设置好,之后在执行动画代码块里面只需要调用layoutIfNeeded
即可。
另外调用layoutIfNeeded
方法的对象必须是ViewA
的父视图,不然会出现ViewA
的子视图跟着执行动画的情况。
如下面的代码中,ViewA
的父视图就是window
,所以调用layoutIfNeeded
方法的对象是window
|
|
总结
|
|
再一次感谢您花费时间阅读这篇文章!
微博: @Danny_吕昌辉
博客: SuperDanny