3 回答

TA貢獻1784條經驗 獲得超7個贊
UIViewController
loadView()
loadViewIfNeeded()
viewDidLoad()
viewWillAppear(_ animated: Bool)
viewWillLayoutSubviews()
viewDidLayoutSubviews()
viewDidAppear(_ animated: Bool)
viewWillDisappear(_ animated: Bool)
viewDidDisappear(_ animated: Bool)
1. loadView
如果子類沒有使用nib,那么子類應該在這里創(chuàng)建它們的自定義視圖層次結構。不應該直接打電話。
2. loadViewIfNeeded
viewController
如果尚未設置視圖控制器的視圖,則加載該視圖控制器的視圖。
3. viewDidLoad
viewDidLoad
在加載視圖后調用。對于在代碼中創(chuàng)建的視圖控制器,這是后加載視圖.對于從NIB中未存檔的視圖控制器,這是在設置視圖之后。
4. viewWillAppear
viewController
當視圖即將變得可見時調用。默認什么都不做。
5. viewWillLayoutSubviews
在調用視圖控制器的layoutSubview方法之前調用。子類可以根據需要實現。缺省值是NOP。
6. viewDidLayoutSubviews
在調用視圖控制器的layoutSubview方法之后調用。子類可以根據需要實現。缺省值是NOP。
7. viewDidAppear
viewDidAppear
當視圖完全轉換到屏幕上時調用。默認什么都不做
8. viewWillDisappear
viewWillDisappear
viewController
viewController
viewController
.
當視圖被取消、覆蓋或以其他方式隱藏時調用。
9. viewDidDisappear
viewController
在視圖被駁回、覆蓋或以其他方式隱藏后被調用。默認什么都不做
super
如果子類UIViewController,則必須調用此方法的超級實現,即使您沒有使用NIB。(為了方便起見,默認的init方法將為您做到這一點,并為這兩個方法參數指定nil。)在指定的NIB中,File的所有者代理應該將其類設置為視圖控制器子類,并將視圖出口連接到主視圖。如果使用nib名稱調用此方法,則該類‘ -loadView
方法將嘗試加載名稱與視圖控制器類相同的NIB。如果實際上不存在這樣的nib,則必須調用 -setView:
以前 -view
調用,或覆蓋 -loadView
方法以編程方式設置視圖。
更新viewWillLayoutSubviews
viewDidLayoutSubviews
- 3 回答
- 0 關注
- 787 瀏覽
添加回答
舉報