先上一张图
现在来总结一下我对UIView和CALayer的理解
1、想必大家都知道核心动画,其实核心动画是直接作用在CALayer层上
2、iOS中能看得见的都是UIView,UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建一个UIView时,UIView内部会创建一个图层(CALayer对象)通过UIView的layer属性可以访问这个层
3、当UIView需要显示到屏幕上时,会调用drawRect方法进行绘图,并且将所有内容绘制在图层上,绘图完毕后,系统会讲图层拷贝到屏幕上,这样就完成显示
4、二者的唯一区别就是UIView可以响应点击事件而CALayer做不到
5、对于UIImageView中image是加载到layer层上得contents上得具体怎么实现大家可以看看官方或者百度
总结不全、白话居多、希望能对您有用