1. UIView
大部分你想要可视化操作都是由视图对象-即UIView类的实例-来进行的
UIView的继承结构为: UIResponder : NSObject
UIResponder是用来响应事件的,也就是UIView可以响应用户事件
UIView是UIKit.framework框架 负责渲染矩形区域的内容 为矩形区域添加动画 相应区域的触摸事件 布局和管理一个或多个子视图
2.UIWindow
UIKit.framework框架 是一种特殊的UiView
通常在一个程序中只会有一个UIWindow 但可以手动创建多个UIWindow 同事家道程序里面
UIWindow的作用
1/ 作为容器 包含APP所要显示的所有视图
2/ 传递触摸消息到程序中view和其他对象
3/ 与UIViewController协同工作 方便完成设备方向旋转的支持
3.CALayer
CALayer的继承结构为: NSObject。
直接从 NSObject继承,因为缺少了UIResponder类,所以CALayer不能响应任何用户事件。
CALayer定义了position、size、transform、animations 等基本属性
UIView 和 CALayer的关系
UIView 和 CALayer是相互依赖的
UIView依赖CALayer提供内容
CALayer依赖UIView提供容器显示绘制内容
CALayer是这一切的基础,如果没有CALayer,UIView自身也不会存在,UIView是一个特殊的CALayer实现,添加了响应事件的能力
UIView来自CALayer,高于CALayer,是CALayer高层实现与封装。UIView的所有特性来源于CALayer支持