CALayer
来源:互联网 发布:单片机原理及应用林立 编辑:程序博客网 时间:2024/06/06 01:51
CALayer
标签(空格分隔): UI
[MJ博客]: http://www.cnblogs.com/mjios/archive/2013/04/13/3019335.html “”
隐式动画
- 只有非rootCalyer(
根层
)才有隐式动画。 position
:layer在父控件中的位置,以父层的左上角为原点(0, 0)anchorPoint
:layer的锚点
(它的x、y取值范围都是0~1,默认值为(0.5, 0.5)
)图层的中心)以自己的左上角为原点(0, 0)在创建控件对象时,控件内部会
自动创建
一个图层(即CALayer对象),通过控件的layer属性可以访问这个层- 控件本身不具备显示的功能,是它内部的层才有显示功能
关于CALayer的疑惑
首先
- CALayer是定义在
QuartzCore
框架中的 - CGImageRef、CGColorRef两种数据类型是定义在CoreGraphics框架中的
- UIColor、UIImage是定义在UIKit框架中的
- CALayer是定义在
其次
- QuartzCore框架和CoreGraphics框架是可以跨平台使用的,在iOS和Mac OS X上都能使用
- 但是UIKit只能在iOS中使用
为了保证
可移植性
,QuartzCore不能使用UIImage、UIColor,只能使用CGImageRef、CGColorRef
UIView和CALayer的选择
通过CALayer,就能做出跟UIImageView一样的界面效果
其实,对比CALayer,UIView多了一个
事件处理
的功能。也就是说,CALayer不能处理用户的触摸事件,而UIView可以- 所以,如果显示出来的东西需要跟用户进行交互的话,用UIView;如果不需要跟用户进行交互,用UIView或者CALayer都可以
- 当然,CALayer的性能会高一些,因为它少了事件处理的功能,更加轻量级
CATransaction(动画事务)
- 动画都是包装到事务
- 开启事务
[CATransaction begin];
- 提交事务
[CATransaction commit];
- 是否需要隐式动画
[CATransaction setDisableActions:YES];
0 0
- CALayer
- CALayer
- CALayer
- CALayer
- CALayer
- CALayer
- CALayer
- CALayer
- CALayer
- CALayer
- CALayer
- CALayer
- CALayer
- CALayer
- CALayer
- CALayer
- CALayer
- CALayer
- Linux设备驱动开发学习步骤
- 注解 @Resource
- 【算法总结-数组相关】 数组中找特定元素相关~
- vmware workstation 11 安装RAC第二问
- 优化算法——截断梯度法(TG)
- CALayer
- Leetcode#12||Integer to Roman
- 数据和表结构完全一样的两个表,查询性能相差一倍多
- 你的Matlab安装路径,你可以在Matlab中输入matlabroot命令获取
- 【算法总结-DP】求子数组的最大和
- 核心动画
- Linux操作学习笔记------Linux安装前的工作。
- 内存对齐
- 指向二维数组的元素