1

UIViewController我想知道当您使用参数而不覆盖并且捆绑中没有相应的 XIB 或 NIB 文件时,子类initWithNibName:bundle:nil行为loadView是什么。

通过一个简单的程序,我self.view在调试器中显示该属性:

(lldb) po self.view
 <UIView: 0x15e8b440; frame = (0 0; 320 548); autoresize = W+H; layer = <CALayer: 0x15e8a8b0>>

我们可以看到该类初始化了一个UIView其框架与UIScreen.bounds.

我没有在 Apple 文档中找到解释。它是否在某处明确记录?

4

1 回答 1

3

请参阅该loadView方法的文档:

如果视图控制器具有关联的 nib 文件,则此方法从 nib 文件加载视图。如果nibName属性返回非nil值,则视图控制器具有关联的 nib 文件,如果视图控制器是从情节提要中实例化的,如果您使用该initWithNibName:bundle: 方法显式为其分配了一个 nib 文件,或者如果 iOS 在应用程序包的名称基于视图控制器的类名。

如果视图控制器没有关联的 nib 文件,则此方法将创建一个普通UIView对象。

于 2013-08-29T08:39:59.893 回答