上节我们介绍了核心动画基础,这一节介绍核心动画的主要应用和局限性。
【核心动画的局限性】
有一点需要注意,所有的核心动画都是假象,只是修改了View的展示位置,而不能修改真实位置,即使设置了不复位,仿佛是位置移动了,其实layer还在原位,要证明这一点,可以在动画完成后打印layer的位置。
为了获得动画结束时机,可以通过代理,UIView已经遵循了相关协议,可以实现动画开始和结束的两个方法。
- (void)animationDidStart:(CAAnimation *)anim{
}
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag{
}
我们可以自定义一个View,然后改变它的位置,在animationDidStop::方法中打印它的位置,可以发现位置并没有真的被改变。
【转场动画】