创建新的objective-c 类UIViewController 文件时。我想知道 ViewController.m 文件或其他文件中的哪个命令/方法/行在从 nib 文件生成视图之前执行。
我只知道 viewDidLoad 会在 nib 文件之前先运行。还有别的事吗?
感谢您在这里帮助小菜鸟。
在加载视图层次结构之前调用的唯一方法是initWithNibName:bundle:
方法。然后第一次访问视图控制器时view
加载nib
(通过loadview
方法),然后viewDidLoad
调用方法。我希望这可以说清楚。
附言。尽管您可以覆盖loadview
方法,但 Apple 声明:
如果您使用 Interface Builder 创建视图并初始化视图控制器,则不得覆盖此方法。(Apple 关于 loadview 方法的文档)
试试-(void)loadView
方法。在设置视图控制器的视图之前调用它,实际上这是您要设置(控制器)view
属性的地方。self
-(void)loadView
{
self.view = [[UIView alloc] initWithFrame:...]; //Or get it from the nib...
}