View与Layer

 1

 view 是它的 layer 代理,在view第一次显示和每次重绘的时候。

 layer调用它的 drawInContext: 方法,

 2

  layer drawInContext:方法中,view(delegate)

 调用 drawLayer:inContext:方法,

 3

  view drawLayer: inContext: 方法中,view 调用 drawRect:

 

 另外

      CALayer 的代理,不需要遵循协议,理论上任何 NSObject 对象都可以作为

 layer的代理,只要该对象能实现绘制layer的功能,layer的代理方法实际上是

 NSObject (CALayerDelegate) 这个分类中定义的方法。

           view的frame,bounds,背景颜色等属性的设置和获取,都是设置和获取它的根layer的。

 view的center,实际上就是layer的position,而layer的position和layer的 anchorPoint(默认值:(0.5,0.5))有关

 所以如果 anchorPoint 发生了改变,view的center就不是控件的中心点了。

           CALayer继承自 NSObject, UIView 继承自 UIResponder,所以 layer 不能响应事件,view 可以。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值