UIView的Frame改变和动画需要在view加载后进行

在开发过程中写了一个动画就是类似于ActionSheet的一个view从底部动画出现并显示菜单,这个view是用自动布局完成,动画采用的是修改view的约束然后使用UIView的animate方法中包含view.layoutIfNeeded构建动画效果,刚写出来感觉有动画效果,可这个时候发现效果并不好,很意外的出现了弹跳的效果,起初没在意,可后来发现这样看起来很别扭,然后着手去查找出现弹跳的原因,试过很多种方法,认为是由于view的frame的多次改变造成的,尝试了多次无果,后来review代码后发现有一次修改view的约束实在view添加父容器之前做的,然后突然想到这样做可能不妥,然后就调整了一下修改view的约束的代码位置到添加view到父容器之后,果然这次效果正常了,动画看起来很正常,ok了,这是一次教训,以后会谨记

你可能感兴趣的:(UIView的Frame改变和动画需要在view加载后进行)