控制器的創(chuàng)建過程

# 控制器的LoadView方法

- 什么時候調(diào)用?

- 第一次使用控制器的view的時候,會加載控制器的view,比如默認(rèn)的解析Info.Plist文件后創(chuàng)建rootcontroller后,如果使用view 即會加載. 默認(rèn)是屏幕尺寸.

- 如果LoadView方法里寫[super loadView]系統(tǒng)會自動尋找有沒有指定,storyboard,如果有就會去加? 載storyboard去加載view

- 重寫LoadView方法

- 1 !不要調(diào)用[super LoadView]

- 2 在loadView方法中,如果沒有給控制器的view賦值,就不能獲取控制器的view,否則會導(dǎo)致死循環(huán)

#View的延遲加載

控制器的view延遲加載:只能用于UIViewController或者他子類

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

所以執(zhí)行順序是.

第一次用到控制器的view---->LoadView---->ViewDidLoad--->如果第一次調(diào)用時設(shè)置了view的相關(guān)屬性,則再調(diào)回到第一步.


# 通過XIB創(chuàng)建控制器

##為什么要通過xib或者storyboard創(chuàng)建控制器?

-? 因為xib和sb能描述控制器的view,可以解決他的內(nèi)容固定問題

- 我們知道在程序進入applicationMain函數(shù)后,會創(chuàng)建Application對象,它的代理,并生成一個控制器,并且加載它的view.所以這里 去掉Info.plist中的maininterface來創(chuàng)建控制器.


# 創(chuàng)建控制器

- 1. 1 先創(chuàng)建xib 并拖入一個view用來描述控制器的view

- 1.2? 創(chuàng)建控制器并連線view


**? 注意設(shè)置Xib所屬控制器類型

**


- 2.創(chuàng)建控制器,同時選擇create XIB file 會生成一個和控制器名字相同的xib用來描述控制器,同時內(nèi)部已經(jīng)完成view的連線


#通過storyboard加載控制器

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


然后可以調(diào)用

```objc

[self.window makeKeyAndvisible];

```

讓window顯示,控制器的view也會顯示在window上.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容