loadView和viewDidLoad

之前虽然用过loadView和viewDidLoad这两个方法,但没有仔细研究过,现在反过头来看下。

这些方法的执行顺序位loadView——>viewDidLoad——>viewWillAppear——>viewDidAppear
①loadView是在每次访问uiviewController的view(如self.view或controller.view),并且view为nil时才会调用。
作用就是创建UIViewController的view
即若想自定义UIviewController的view,就要重写loadView方法
如用代码创建view

1 - (void)loadView {  
2      self.view = [[UIWebView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];  
3 }
4 //无需调用[super loadView],调用了也不会出错,只是造成了一些不必要的开销。因为[super loadView]默认会创建一个空白的view

②viewDidLoad是在view创建完后,最终会调用的方法。
作用就是往view添加子视图或控件等,完成界面的初始化。
如往view里添加button.

1 - (void)viewDidLoad{
2     [super viewDidLoad];
3     UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
4     button.frame = CGRectMake(10, 100, 50, 50);
5     [self.view addSubview:button];
6 }
原文地址:https://www.cnblogs.com/Apologize/p/4680559.html