本篇文章,总结控制器管理的view是如何创建而来的,以及Xcode对控制器view创建的隐含规则


创建方式

方式一:alloc+init方式,空白view

应当在控制器的viewDidLoad方法中添加要对view进行的各种操作


方式二:alloc+initWithNib方式,即view是由xib设计的


方式三:从UIStoryboard对象加载的,即view是由storyboard设计的


方式四:重写控制器的loadView方法,该方法内进行创建view

如:

-(void)loadView{self.view=[[UIViewalloc]init];self.view.backgroundColor=[UIColorgrayColor];}


Xcode对控制器view创建的隐含规则

先看下面的流程图:(控制器类名:AMViewController)

结论:

1. 如果控制器 实现了 loadView方法,view从loadView方法中进行创建

2. 如果由storyboard加载,则加载storyboard中设计的

3. 如果由xib架子啊,则加载xib中设计的

4. 如果项目中包含一个名字为AMView.xib的文件,则view由xib加载

5. 如果项目中包含一个名字为AMViewContoller.xib,则view由xib加载

6. 创建一个空的view