iOS Developer - AnimationiOS Developer - CALayerIOS动画

6.2 核心动画->1.0 CALayer的简介

2016-07-24  本文已影响228人  蓝田_Loto

本文并非最终版本,如果想要关注更新或更正的内容请关注文集,联系方式详见文末,如有疏忽和遗漏,欢迎指正。


本文相关目录:
===================== 所属文集:6.0 图形和多媒体 =====================
6.2 核心动画->1.0 CALayer的简介
6.2 核心动画->1.1 CALayer的基本属性
6.2 核心动画->1.2 CALayer的创建 & 非根layer的隐式动画
6.2 核心动画->2.0 Core Animation(核心动画)
6.2 核心动画->3.0 核心动画 & UIView动画
6.2 核心动画->4.0 常用动画效果
===================== 所属文集:6.0 图形和多媒体 =====================


CALayer的简介:CA(Core Animation)

@property(nonatomic,readonly,retain) CALayer *layer;

CALayer的基本使用:

(1)通过操作CALayer对象,可以很方便地调整UIView的一些外观属性,比如:

- 阴影
- 圆角大小
- 边框宽度和颜色

(2)给图层添加动画,来实现一些比较炫酷的效果


关于CALayer的疑惑

(1)所属框架

- CALayer是定义在QuartzCore框架中的
- CGImageRef、CGColorRef 两种数据类型是定义在CoreGraphics框架中的
- UIColor、UIImage是定义在UIKit框架中的

(2)是否可跨平台

- QuartzCore框架和CoreGraphics框架是可以跨平台使用的,在iOS和Mac OS X上都能使用(C 语言编写)
- UIKit只能在iOS中使用(Objective-C)

(3)其他

- 为了保证可移植性,QuartzCore不能使用UIImage、UIColor,只能使用CGImageRef、CGColorRef
- 导入其他框架的方式: 选中项目, 在 General中找 Linked Frameworks and Libraries添加对应的框架

【选择】UIView & CALayer

通过CALayer,就能做出跟UIImageView一样的界面效果,既然CALayer和UIView都能实现相同的显示效果,那究竟该选择谁好呢?

- UIView可以通过subviews属性访问所有的子视图
类似地,CALayer也可以通过sublayers属性访问所有的子层

- UIView可以通过superview属性访问父视图
类似地,CALayer也可以通过superlayer属性访问父层
UIView & CALayer.png

通过上图可得结论:如果两个UIView是父子关系,那么它们内部的CALayer也是父子关系

UIView : 接受和处理系统事件、触摸事件
CALayer : 显示内容 



作者:蓝田(Loto)
出处: 简书

如果你觉得本篇文章对你有所帮助,请点击文章末尾下方“喜欢”
如有疑问,请通过以下方式交流:
评论区回复微信(加好友请注明“简书+称呼”)发送邮件shorfng@126.com



本文版权归作者和本网站共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

上一篇 下一篇

猜你喜欢

热点阅读