UIView是我们界面上的主要组成部分,它负责内容的呈现,图层的创建和管理,以及事件的响应,而实际上UIView显示部分是通过CALayer来完成的,每个View被创建的时候都会自动创建一个CALayer,同时还可以在后续的操作中添加多个layer。之所以要将显示部分独立出来,归根到底是因为Mac上和iPhone上的事件存在很大的区别?iPhone 上的事件绝大多数是屏幕触摸事件,而Mac上还有鼠标,键盘等事件,但是显示上却是高度一致的,因此就可以将这部分显示的给拎出来,作为CALayer单独存在。而UIView作为CALayer的delegate存在,在CALayer需要调用UIView方法的时候就可以通过这个delegate来完成。