掌握
一、控制器的多种创建方式
如何创建一个控制器
通过storyboard创建
注意:加载UIStoryboard仅仅是加载名称叫做Test的storyboard,并不会创建
storyboard中的控制器以及控件
通过xib创建
注意:要想让xib里的view设置为所创建控制器的view,必须设置xib的File‘s owner
为所创建控制器。并且File‘s owner点右键将view连到xib里的view上。
storyboard默认已经完成了上述操作
二、控制器view的创建方式
1.没有同名xib情况下创建
2.通过storyboard创建
3.有指定xib情况下创建
4. 有同名xib情况下创建
5.有同名去掉controll的情况下创建
6.重写控制器的loadView方法
//第一种方式:没有xib和storyboard情况下创建
//(通过alloc init创建控制器,会自动创建一个空白的view作为控制器的view)
//第二种方式:通过storyboard创建
//如果通过storyboard创建,会根据storyboard中箭头指向的控制器view所描述的
样子创建控制器的view
//第三种方式:有指定xib的情况下创建(调用initWithNib:方法创建控制器)
//如果通过xib创建,会根据xib中控制器view所描述的样子创建控制器的view
//第四种方式:有与控制器同名xib的情况下创建(直接调用init方法创建控制器)
//如果有同名xib,会自动找到同名xib中描述的view作为控制器的view
//第五种方式:有与控制器同名(但不含controller)xib的情况下创建(直接调用
init方法创建控制器)
//如果有与控制器同名(但不含controller)的xib,会自动找到该xib的view作为控
制器的view
//第六种方式:重写控制器的loadView方法(该方法一般用于自定义控制器view)
//什么时候调用LoadView就代表什么时候加载控制器的view
//如果重写了控制器的loadView方法,就不会去加载创建同名去掉controller的xib
和同名的xib了,而是创建一个空白的view(什么都不写的话)作为控制器的view,
也可以在loadView中直接创建view
三、控制器view的延迟加载(懒加载)
*控制器的view是延迟加载的:用到时再加载
*可以用isViewLoaded方法判断一个UIViewController的view是否已经被加载
*控制器的view加载完毕就会调用viewDidLoad