—高级软件人才实作培训专家!北京传智播客教育www.itcast.cn控制器及控制器视图的创建iOS学院—高级软件人才实作培训专家!北京传智播客教育www.itcast.cn掌握控制器以及view的多种创建方式—高级软件人才实作培训专家!北京传智播客教育www.itcast.cnScreen&Window&ViewController—高级软件人才实作培训专家!北京传智播客教育www.itcast.cn如何创建一个控制器1.代码创建ViewController*vc=[[ViewControlleralloc]init];2.通过storyboard创建(代码见下页PPT)3.指定xib文件来创建ViewController*vc=[[ViewControlleralloc]initWithNibName:@"ViewController"bundle:nil];—高级软件人才实作培训专家!北京传智播客教育www.itcast.cn通过storyboard创建控制器先加载storyboard文件(Test是storyboard的文件名)UIStoryboard*storyboard=[UIStoryboardstoryboardWithName:@"Test"bundle:nil];接着初始化storyboard中的控制器初始化“初始控制器”(箭头所指的控制器)ViewController*vc=[storyboardinstantiateInitialViewController];通过一个标识初始化对应的控制器ViewController*vc=[storyboardinstantiateViewControllerWithIdentifier:@"vc"];—高级软件人才实作培训专家!北京传智播客教育www.itcast.cn视图控制器的view的创建过程loadView?用loadView方法创建视图YESstoryboardNO创建Storyboard中的viewYESnibName?创建nibName对应XIB中的viewYESNOview.xib创建view.xib对应XIB中的viewYESNOviewController.xib?创建viewController.xib对应XIB中的viewYESNO空白透明viewNOviewDidLoad—高级软件人才实作培训专家!北京传智播客教育www.itcast.cn—高级软件人才实作培训专家!北京传智播客教育www.itcast.cnloadView方法是如何工作的—高级软件人才实作培训专家!北京传智播客教育www.itcast.cn—高级软件人才实作培训专家!北京传智播客教育www.itcast.cn关于loadView方法loadView方法仅在用代码创建视图控制器的界面时使用在loadView方法中根据实际需求来确定到底是否需要调用[superloadView]—高级软件人才实作培训专家!北京传智播客教育www.itcast.cn控制器view的延迟加载控制器的view是延迟加载(懒加载)的:用到时再加载控制器的view加载完毕就会调用viewDidLoad方法用isViewLoaded方法判断UIViewController的view是否已经被加载—高级软件人才实作培训专家!北京传智播客教育www.itcast.cnController1Controller1Controller1导航控制器