iOS动画专家们!每种方法的优缺点是什么?我知道苹果推荐使用块而不是旧的UIView
动画方法(UIView
beginAnimations
等),但是CAAnimation
呢?你何时会使用一种方法而不是另一种方法?在性能方面有什么权衡?
iOS动画专家们!每种方法的优缺点是什么?我知道苹果推荐使用块而不是旧的UIView
动画方法(UIView
beginAnimations
等),但是CAAnimation
呢?你何时会使用一种方法而不是另一种方法?在性能方面有什么权衡?
1) 在内存开销方面,使用UIView的动画块和CALayer的CAAnimation之间并没有太大差异,对象本身也是如此。
2) 使用UIView动画时存在类型限制,因此您可能不得不使用CAAnimation来实现某些类型的动画。
3) 对于那些UIView可以处理的简单动画类型,它通常比CAAnimation更简单易用的API.
正如miamk所说,使用[UIView animateWith]方法系列实现动画的类型是有限制的。个人而言,我使用CAAnimation,但这是因为我习惯以这种方式设置动画。我感觉你可以更好地控制它。我倾向于花一天时间将CAAnimation微调到极致,然后将其添加到我的UIView扩展类中,以便任何视图都可以使用它。