-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Description
-
在iOS动画中事务实际上是Core Animation用来包含一系列属性动画集合的机制,任何CALayer的Animatable Properties设置都应该属于某个CATransaction(在修改CALayer的Animatable Properties时如果发现当前没有事务,则会自动创建一个事务)
-
在一个CATransaction中可以同时对多个layer的属性进行修改,CATransaction负责对layer的修改的捕获和提交,在事务中的变化并不会立刻生效,而是在事务提交的时候将这些图层树的变化成批包装起来,一次性发送到渲染服务进程,在我们看来就是图层的各个属性会在同一时刻由一个动画过渡到新值。
-
Core Animation在每个Runloop周期中自动开始一次新的事务,事务的提交发生在RunLoop进入休眠或者退出期间,即使不显式的用[CATransaction begin]开始一次事务,任何在一次Runloop循环中属性的改变都会被集中起来,然后做一次0.25秒的动画。
-
事务可以嵌套,当事务嵌套时候,只有当最外层的事务commit了之后,整个动画才开始.
Metadata
Metadata
Assignees
Labels
No labels