iOS面试题:简述你对 UIView、UIWindow 和 CALayer 的理解

1.UIView:数据UIKit.framework框架,负责渲染矩形区域的内容,为矩形区域添加内容,响应区域的触摸事件,布局和管理一个或多个子视图

2.UIWindow:数据UIKit.framework框架,是一种特殊的UIView,通常在一个程序中只有一个UIWindow,但可以手动创建多个UIWindow,同时加到程序里.UIWindow在程序中主要起到三个作用:作为容器传递触摸消息到程序中的View和其他对象与UIViewController协同工作,方便完成设备方向旋转的支持

  • 作为容器,包含程序所有要显示的视图
  • 传递触摸消息到其他的UIView或其他对象
  • 与UIViewController协同工作,完成设备方向旋转的支持

3.CAlayer:属于QuartzCore.famework,是用来绘制内容的,对内容进行动画处理依赖与UIView来显示,不能处理用户事件.UIView和CALayer是相互依赖的,UIView依赖CALayer提供内容,CALayer依赖UIView提供容器显示绘制内容

延伸:UIViewController:每个视图控制器都有一个自带的视图,并且负责这个视图相关的一切事务,方便管理视图中的子视图,负责model和view的通信,检测设备旋转以及内存警告,是所有视图控制类的基类,定义了控制器的基本功能


更多:iOS面试题合集

推荐阅读更多精彩内容