檢視控制器

碼路芽子發表於2018-07-04

檢視控制器建立的多種方式

什麼是檢視控制器

  • 檢視控制器就是用來 ”控制“ 或者說 ”管理“ 介面(檢視)的"換句話說介面長得醜與美由檢視控制器說的算
  • 每個檢視控制器(UIViewController)都有一個View屬性來描述介面長什麼樣
  • 前面所講的設定視窗的根控制器其實就是會把檢視控制器的裡View會新增在視窗上進行顯示

檢視控制器的建立方式

  1. UIStoryboard的方式
    • 獲取storyboard箭頭所指的檢視控制器
    • 獲取storyboard標識了ID所指的檢視控制器
  2. 直接建立控制器
  3. 建立帶xib的檢視控制器
    • xib是描述介面長什麼樣的
    • 呼叫控制器的【-(instancetype)initWithNibName:bundle:】;
    • 方法為什麼是nib,因為程式打包執行後,xib會放在bundle目錄下,並且字尾名為nib"進入沙盒驗證"
    • xib的 "File's Owner" 是代表介面由誰管理,控制器view對應哪個介面的描述

多控制器

  1. 導航控制器 (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環境下清空資源前,會先釋放

相關文章