控制器的创建过程

# 控制器的LoadView方法

- 什么时候调用?

- 第一次使用控制器的view的时候,会加载控制器的view,比如默认的解析Info.Plist文件后创建rootcontroller后,如果使用view 即会加载. 默认是屏幕尺寸.

- 如果LoadView方法里写[super loadView]系统会自动寻找有没有指定,storyboard,如果有就会去加  载storyboard去加载view

- 重写LoadView方法

- 1 !不要调用[super LoadView]

- 2 在loadView方法中,如果没有给控制器的view赋值,就不能获取控制器的view,否则会导致死循环

#View的延迟加载

控制器的view延迟加载:只能用于UIViewController或者他子类

控制器的view是第一次使用的时候才去加载.

所以执行顺序是.

第一次用到控制器的view---->LoadView---->ViewDidLoad--->如果第一次调用时设置了view的相关属性,则再调回到第一步.


# 通过XIB创建控制器

##为什么要通过xib或者storyboard创建控制器?

-  因为xib和sb能描述控制器的view,可以解决他的内容固定问题

- 我们知道在程序进入applicationMain函数后,会创建Application对象,它的代理,并生成一个控制器,并且加载它的view.所以这里 去掉Info.plist中的maininterface来创建控制器.


# 创建控制器

- 1. 1 先创建xib 并拖入一个view用来描述控制器的view

- 1.2  创建控制器并连线view


**  注意设置Xib所属控制器类型

**


- 2.创建控制器,同时选择create XIB file 会生成一个和控制器名字相同的xib用来描述控制器,同时内部已经完成view的连线


#通过storyboard加载控制器

- 用到UIStoryboard 初始化方法和它的对象方法


然后可以调用

```objc

[self.window makeKeyAndvisible];

```

让window显示,控制器的view也会显示在window上.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容