iOS核心动画高级技巧

Meteor-Z

2025/07/06

Categories: iOS Tags: Object-C iOS 动画

UIView和CALayer

CALayer是图层,仅仅是显示UI界面的,但是UIView包含的东西非常多,而且UIView的性能其实没有显示的性能影响,使用图层关联的视图而不是CALayer的好处在于,你能在使用所有CALayer底层特性的同时,也可以使用UIView的高级API(比如自动排版,布局和事件处理。

layer专门显示动画,绘图,因为macOS和iOS的绘图原理是相同的,但是接触方式是不同的(一个是鼠标点击,一个是触摸),所以这里将其分开,分别维护。比如说CGColorRef为什么有这个,是因为layer是QuartzCore框架,不是UIKit框架里面的。

UIButton的继承:UIButton -> UIControl -> UIView -> UIResponder UUIControl是将复杂的触摸事件封装成了简单的易于使用的控件事件

什么时候使用CALayer而不是UIView

但是我觉得还是用UIView可能更加方便,因为视图和视图之间可能要添加,UIView可以很高的添加上去。