Mar*_*ote 12 iphone animation cocoa-touch uiview
我想知道动画在Cocoa Touch中是如何工作的.例如:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
view1.alpha = 1.0;
view2.frame.origin.x += 100;
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
如何UIView跟踪两个视图属性的更改?
我怀疑使用了KVO,但它是否真的观察到beginAnimations和commitAnimations调用之间的每个视图的变化 ?
任何见解将不胜感激!
Pey*_*loW 12
简化说明:
所有视图的所有动画都在一个堆栈上处理,beginAnimations:context:将CAAnimationGroup在堆栈上推送一个新的活动,并commitAnimations弹出当前活动的动画组.
如果堆栈上有活动的动画组,则所有可设置动画的属性的设置器将创建CAAnimation子类实例来处理该属性,然后将其添加到活动动画组.
弹出最后一个动画时,将重播该动画.