来自文档:
创建一个根视图对象 尺寸适合屏幕。根视图 充当所有其他人的容器 与您的视图关联的视图 控制器。您通常定义 此视图的框架与大小匹配 应用程序窗口的哪个 本身应该填满屏幕。 但是,视图控制器也是 根据需要调整帧大小 容纳各种各样的存在 视图,例如系统状态栏, 导航栏或标签栏。
为什么我要把视图的框架设置为应用程序窗口大小呢?我的意思是......如果视图控制器无论如何调整它,那么我为什么要这样做?不......等等......我明白了......设置它是有意义的,因为在-loadView之后创建的子视图可能想知道框架。但是没有多大意义,因为那应该在-viewDidLoad中完成,对吗?
答案 0 :(得分:1)
UIView的指定初始化程序都需要从nib或以编程方式提供框架。这很可能是因为任何类型的所有后续绘图都取决于框架。框架还定义了窗口/超视图中的视图将出现的位置,即使它应该被绘制。
换句话说,没有frame属性会破坏很多类的默认方法。即使帧稍后被更改,实例也必须具有帧属性。