ios中UIView和CALayer关系

UIView可以显示在屏幕中,依赖于它内部的CALayer图层

在iOS系统中,能看的见摸得到的东西基本都是UIView,其实UIView能显示在屏幕上完全是因为内部有CALayer层. 在创建UIView时,UIView内部会自动创建一个CALayer对象,通过UIView的layer属性可以访问到.CALayer * layer = self.view.layer; 当UIView需要显示到屏幕上时,会调用drawRect方法进行绘制,并且将所有内容绘制在自己的图层上,系统会将图层拷贝到屏幕上,这就实现了UIView的显示.换句话说,UIView本身没有显示的能力,是它内部的CALyer图层才有了显示功能. 平时我们用到的控件剪切圆角,CABasicAnimation等用到的就是CALayer对象.UIView继承与UIResponder,所以UIView具有事件处理功能. CALayer继承于NSObject,没有事件处理能力

原文地址:https://www.cnblogs.com/baxiu/p/9284184.html