檢視控制器建立的多種方式
什麼是檢視控制器
- 檢視控制器就是用來 ”控制“ 或者說 ”管理“ 介面(檢視)的"換句話說介面長得醜與美由檢視控制器說的算
- 每個檢視控制器(UIViewController)都有一個View屬性來描述介面長什麼樣
- 前面所講的設定視窗的根控制器其實就是會把檢視控制器的裡View會新增在視窗上進行顯示
檢視控制器的建立方式
- UIStoryboard的方式
- 獲取storyboard箭頭所指的檢視控制器
- 獲取storyboard標識了ID所指的檢視控制器
- 直接建立控制器
- 建立帶xib的檢視控制器
- xib是描述介面長什麼樣的
- 呼叫控制器的【-(instancetype)initWithNibName:bundle:】;
- 方法為什麼是nib,因為程式打包執行後,xib會放在bundle目錄下,並且字尾名為nib"進入沙盒驗證"
- xib的 "File's Owner" 是代表介面由誰管理,控制器view對應哪個介面的描述
多控制器
- 導航控制器 (1)導航控制器是用來管多個子控制器,實現不同介面間的 "來回切換",系統的介面就是一個導航控制器 (2)掌握程式碼建立導航控制器及設定根控制器 (3)掌握如何進入到下一個控制器、返回上一個控制器、返回第一控制器 (4)理解導航控制器的view的結構 (5)掌握導航控制器顯示各個子控制器顯示的的原理 //棧頂原理
/**
棧頂原理
0.導航控制器將所要顯示的子控制器放到一個棧中
1.導航控制器顯示的第一個控制器為棧頂控制器
2.返回上一個子控制器時,棧頂控制器的view從導航控制器的view中移除,並棧頂控制器將被銷燬
3.把最新的棧頂控制器的view顯示在導航控制器view的上面
4.所有的子控制器會儲存在導航控制器的viewControllers屬性中
*/
複製程式碼
(6)掌握導航控制器中導航欄左右兩邊的按鈕與標題的設定
-
每一個控制器有個navigationItem屬性
-
使用navigationItem可設定標題
-
設定標題還可以使用控制器的title屬性
-
使用navigationItem還可設定左右兩邊的按鈕
-
設定返回按鈕,當前控制器設定的返回按鈕是給下一個控制器顯示的
-
navigationItem還有個titleView屬性,可新增自己義的標題
控制器的生命週期
#####理解控制器的生命週期的幾個方法
viewDidLoad //view載入完畢
viewWillAppear //view即將顯示
viewDidAppear //view已經顯示
viewWillDisappear //view即將消失
viewDidDisappear //view已經消失
viewWillUnload //view即被解除安裝
viewDidUnload //view已經解除安裝
dealloc //控制器被銷燬
複製程式碼
接收到控制器記憶體警告
- 循問當前哪個view可以解除安裝,比如當前控制器不在視窗上,就代表不用,就進行解除安裝view
- 當view被解除安裝完後,清空資料來釋放記憶體給別人用
- 在arc環境下清空資源前,會先釋放