CALayer的认识
1.iOS中所有看得见的控件都需要UIView 包括UIwindow也是一个特殊的UIView
2.UIview对象在创建的时候 UIView内部回会去自动创建一个图层 CALayer对象
举个例子 就是可以通过UIview的layer属性去访问他
3.UIview的现实过程
UIview需要显示在屏幕上的时候 会调用drawRect方法进行绘图 并且将所绘制的内容放在自己的图层上面,绘图完毕后,系统会讲图层拷贝到屏幕上 完成屏幕显示
UIview本身不能显示 是calayer完成的显示
4 ,举个例子 开发过程中 可以通过CALyaer对象去 很方便的调整UIView的外观属性
圆角 影音 边框 contents需要强转维CGImage 还可以添加一些自定义的动画
5.自定义layer 可以实现和UIview一样的展示效果
我们自定义CALayer 正常的View自己有一个的一个layer 属性
我们可以通过CALayer的类方法自己去自定义个
设置了属性后 最后别忘了 [self.view.layer addSublayer:layer]
又一个细节点值得注意的是 如果一个控件 是另外一个控件的子控件 那么控件中的layer也是另外一个控件的子layer 最简单的例子就是截屏操作的时候 为什么能够全部
6.CALyaer是QuarzCore框架中的 CGImageRef和CGCoreRef是定义在CoreGrapgics中的
前面的两个都是跨平台的
UIColor和UIimage是定义在的 UIKit中的 专属于iOS的
如果你能用UIColre和UIimage
QuarzCore 不恩能够使用uUIColor和UIImage 只能使用CGColorRef和 CGImageRef
UIview比CALayer多了一个事件处理的功能 为什么?????
因为他是继承自那个 NSObject的 不是继承自UIResponder
CALyaer的性能高一代呢 少了处理事件的处理
一般的时候是用不着的
7.CALayer有两个属性 position和 anchorpoint(取值是0-1)
anchorpoint决定了哪个点移动到 (100,100)的位置 不是默认的 左上角 00到那个位子