iOS UI进阶-2.0 CALayer

在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView
其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层。在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层 @property(nonatomic,readonly,retain) CALayer *layer;
当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己的图层上,绘图完毕后,系统会将图层拷贝到屏幕上,于是就完成了UIView的显示。
换句话说,UIView本身不具备显示的功能,是它内部的层才有显示功能

UIView和CALayer的选择

通过CALayer,就能做出跟UIImageView一样的界面效果。既然CALayer和UIView都能实现相同的显示效果,那究竟该选择谁好呢?
  • 对比CALayer,UIView多了一个事件处理的功能。也就是说,CALayer不能处理用户的触摸事件,而UIView可以。
  • 如果显示出来的东西需要跟用户进行交互的话,用UIView;
  • 如果不需要跟用户进行交互,用UIView或者CALayer都可以
  • 当然,CALayer的性能会高一些,因为它少了事件处理的功能,更加轻量级

 

更详细的使用说明,请参考下面的博客

CALayer1-简介:http://www.cnblogs.com/mjios/archive/2013/04/13/3019335.html

CALayer2-创建新的层:http://www.cnblogs.com/mjios/archive/2013/04/14/3019728.html

CALayer3-层的属性:http://www.cnblogs.com/mjios/archive/2013/04/14/3020291.html

CALayer4-自定义层:http://www.cnblogs.com/mjios/archive/2013/04/14/3020975.html

 

 

转载于:https://www.cnblogs.com/jys509/p/4845711.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值