CATransaction:原子化操作、批量操作、整体设置、自动添加
Transactions are CoreAnimation's mechanism for batching multiple layer-
tree operations into atomic updates to the render tree. Every
modification to the layer tree requires a transaction to be part of.
A CATransaction is always created every time you have a Core animation going on.
Every modification to a layer is part of a transaction. CATransaction is the Core Animation class responsible for batching multiple layer-tree modifications into atomic updates to the render tree.
https://www.cnblogs.com/feng9exe/p/6731081.html
任何Layer的animatable属性的设置都应该属于某个CA事务(CATransaction),事务的作用是为了保证多个animatable属性的变化同时进行,不管是同一个layer还是不同的layer之间的.CATransaction也分两类,显式的和隐式的,当在某次RunLoop中设置一个animatable属性的时候,如果发现当前没有事务,则会自动创建一个CA事务,在线程的下个RunLoop开始时自动commit这个事务,如果在没有RunLoop的地方设置layer的animatable属性,则必须使用显式的事务.
显式事务的使用如下:
[CATransaction begin];
...
[CATransaction commit];
事务可以嵌套.当事务嵌套时候,只有当最外层的事务commit了之后,整个动画才开始.
可以通过CATransaction来设置一个事务级别的动画属性,覆盖隐式动画的相关属性,比如覆盖隐式动画的duration,timingFunction.如果是显式动画没有设置duration或者timingFunction,那么CA事务设置的这些参数也会对这个显式动画起作用.
http://www.cnblogs.com/bucengyongyou/archive/2012/12/20/2826619.html
CATransaction 在 Core Animation framework中主要扮演了“整体舞台设定的角色”。
使用 CATransaction 的方式就是把我们想做的特别的设定的动画代码,用 CATransaction 的class method前后包起来。
比方说,我们现在不希望产生动画,便可以这样写:
[CATransaction begin];
[CATransaction setDisableActions:YES];
//原本动画的代码
[CATransaction commit];
如果我们想要改变动画时间:
[CATransaction begin];
[CATransaction setAnimationDuration:1.0];
---------------------
作者:学习笔记666
来源:CSDN
原文:https://blog.csdn.net/github_26672553/article/details/50608034
版权声明:本文为博主原创文章,转载请附上博文链接!
相关文章
- SQL Server导入数据报错"无法在只读列“Id”中插入数据",几百个表怎么批量启用'启用标识插入'选项
- [Android Pro] Android 4.1 使用 Accessibility实现免Root自动批量安装功能
- 批量自动取消抖音所有关注 利用JS代码解放双手
- Discuz常见小问题-如何批量加精,置顶帖子
- 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇二:基于OneNote难点突破和批量识别
- K8S批量scale deploy的副本为0,结合xargs -I使用
- 批量打印 SAP CRM 系统所有包含 Error Message Log 的 订单
- Dev 控件绑定的数据源批量操作应避免自动刷新
- paip.提升效率--批量变量赋值 “多元”赋值
- 用Python教你批量下载某筷视频,防止作者视频突然消失
- 【Android 安装包优化】Android 中使用 SVG 图片 ( 批量转换 SVG 格式图片为 Vector Asset 矢量图资源 )
- 利用Excel批量高速发送电子邮件
- 通过PXE服务器批量安装系统
- 【Python 实战】---- 使用【Tinypng图片压缩非API】进行批量图片压缩
- zabbix精华篇-低级自动发现详解---批量自动获取主机所有tomcat端口并进行监控(二十四)