1朝卒、程序運(yùn)行起來,通過main函數(shù)入口創(chuàng)建UIApplication,同時(shí)設(shè)置代理乐埠,創(chuàng)建完成application,想要顯示View抗斤,需要添加UIWindow(特殊的View,存活于整個(gè)生命周期囚企,確保添加的內(nèi)容可以顯示)。
2瑞眼、設(shè)置window的根控制器龙宏,管理需要顯示的View
3、View的創(chuàng)建
view的創(chuàng)建.jpg
a. 如果重寫loadView伤疙,就根據(jù)自定義的view創(chuàng)建view
b. 如果沒有重寫loadView银酗,就去查看有沒有storyboard,有storyboard徒像,就根據(jù)storyboard里描述的view創(chuàng)建黍特;
c. 如果沒有storyboard,就去查看有沒有指定的xib锯蛀,有指定的xib灭衷,就根據(jù)xib里描述的view創(chuàng)建;
d. 如果沒有指定的xib旁涤,即nibName為nil時(shí)翔曲,就查看有沒有與xib的擁有者同名的xib,但優(yōu)選查看沒有Controller的xib劈愚,如果查不到瞳遍,就查看有沒有與xib的擁有者完全同名的xib,如:xib的擁有者是ViewController菌羽,xib的文件名是View傅蹂,就優(yōu)先查看View.xib,根據(jù)它描述的view創(chuàng)建算凿;如果沒有文件名為View的xib份蝴,就去查看有沒有名字為ViewController的xib,如果有就根據(jù)xib里描述的view創(chuàng)建
e. 如果以上的情況都沒有氓轰,就創(chuàng)建一個(gè)空的View
4婚夫、View的聲明周期
view的生命周期.jpg
loadView:第一次使用view的時(shí)候調(diào)用
viewDidLoad:控制器的view加載完成的時(shí)候調(diào)用
viewWillAppear:控制器的view即將顯示的時(shí)候調(diào)用
viewDidAppear:控制器的view完全顯示的時(shí)候調(diào)用
viewWillDisappear:控制器的view即將消失的時(shí)候調(diào)用
viewDidDisappear:控制器的view完全消失的時(shí)候調(diào)用
viewWillLayoutSubviews:控制器的view即將布局的時(shí)候調(diào)用
viewDidLayoutSubviews:控制器的view完全布局的時(shí)候調(diào)用
viewWillUnload:控制器的view即將銷毀
viewDidUnload:控制器的view完全銷毀