一、CALayer和UIView的认识
1、CALayer是UIView的渲染层,他比UIView更轻量,UIView算是在它基础上的二次封装。
2、UIView比CAlayer多了一个事件处理功能,就是能处理用户触摸
3、UIView的核心渲染就是CALayer。。CALayer *layer = myView.layer
4、UIView:
所有和绘图渲染、坐标有关的实质都是CALayer来管理的,部分属性也可以有UIView直接管理(设置坐标,背景色等),有的属性必须经过CALayer处理。
所有和事件有关的都是UIView二次封装的属性
小技巧:当渲染层改变时,不能立即显示在屏幕上,可以调用setNeedsDisplay方法来重绘显示.(会触发layoutSubviews)。。。动画主要是处理UIView的设置层,属性有:transform、affineTransform。CATransform3D(3D动画)
二、同步和异步的认识
同步:串行执行任务,同步函数不具备开启线程的能力,发出调用时要先等到调用的结果才能执行下一步。
异步:并行执行任务,具备开启线程的能力,发出调用时,会一遍执行自己的线程,调用函数同步执行线程,调用函数执行完毕,回调主线程。
三、 UIView从出现到销毁的过程
-> loadView:也可以自定义,一般是系统的
-> viewDidLoad
-> viewWillAppear
-> viewWillLayoutSubviews
-> viewDidLayoutSubviews
-> viewDidAppear
-> viewWillDisappear
-> viewDidDisappear
