之前虽然用过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 }