view是对layer的一种封装,你对view的很多操作事实上是对layer的操作,之所以会出现这两个东西是因为 1、view支持很多手势的交互,你所操作iphone的各种点击,拖动等等。 2、layer来至于mac os,是可以跨平台的东西。这里就是个很要学问的东西,系统的可变部分和不可变部分,可变部分越多,系统越不稳定,但是功能就更加丰富。layer就是作为一种不可变的东西存在,view作为一种可变的东西存在,所有我们每次在ios更新时候获得了大量的view新特性,但是整个view系统底层很多东西依旧可以接着使用,各种动画等。这就是分开view和layer的功劳。一言以蔽之 Simply speaking,UIView inherit from NSResponder,handle events from users, contains CALayer,which inherit from NSObject,mainly focus on rendering,animation etc.