程序啟動、UIWindow創(chuàng)建、View加載顯示過程

1、程序運行起來,通過main函數入口創(chuàng)建UIApplication,同時設置代理,創(chuàng)建完成application,想要顯示View,需要添加UIWindow(特殊的View,存活于整個生命周期,確保添加的內容可以顯示)。
2、設置window的根控制器,管理需要顯示的View
3、View的創(chuàng)建
view的創(chuàng)建.jpg
a. 如果重寫loadView,就根據自定義的view創(chuàng)建view

b. 如果沒有重寫loadView,就去查看有沒有storyboard,有storyboard,就根據storyboard里描述的view創(chuàng)建;

c. 如果沒有storyboard,就去查看有沒有指定的xib,有指定的xib,就根據xib里描述的view創(chuàng)建;

d. 如果沒有指定的xib,即nibName為nil時,就查看有沒有與xib的擁有者同名的xib,但優(yōu)選查看沒有Controller的xib,如果查不到,就查看有沒有與xib的擁有者完全同名的xib,如:xib的擁有者是ViewController,xib的文件名是View,就優(yōu)先查看View.xib,根據它描述的view創(chuàng)建;如果沒有文件名為View的xib,就去查看有沒有名字為ViewController的xib,如果有就根據xib里描述的view創(chuàng)建

e. 如果以上的情況都沒有,就創(chuàng)建一個空的View
4、View的聲明周期
view的生命周期.jpg
loadView:第一次使用view的時候調用

viewDidLoad:控制器的view加載完成的時候調用

viewWillAppear:控制器的view即將顯示的時候調用

viewDidAppear:控制器的view完全顯示的時候調用

viewWillDisappear:控制器的view即將消失的時候調用

viewDidDisappear:控制器的view完全消失的時候調用

viewWillLayoutSubviews:控制器的view即將布局的時候調用

viewDidLayoutSubviews:控制器的view完全布局的時候調用

viewWillUnload:控制器的view即將銷毀

viewDidUnload:控制器的view完全銷毀

參考

https://www.cnblogs.com/oc-bowen/p/6061261.html

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

相關閱讀更多精彩內容

  • 172.簡述視圖控制器的生命周期。 1)init函數(init;initWithFrame;initWithCod...
    AlanGe閱讀 469評論 0 0
  • 7、不使用IB是,下面這樣做有什么問題? 6、請說說Layer和View的關系,以及你是如何使用它們的。 1.首先...
    AlanGe閱讀 991評論 0 1
  • 前言: 這部分內容,對于大部分人來說使用起來可能已經非常熟練,但是涉及到的細節(jié)還是挺多的,對于新開發(fā)者可能不是...
    饒鵬偉閱讀 1,053評論 1 5
  • 一、PCH 文件PCH 是一個頭文件,能被項目中的所有源文件共享和訪問。 PCH 文件的需求一個宏或者頭文件等,很...
    iChuck閱讀 408評論 0 0
  • 27、ViewController的didReceiveMemoryWarning是在什么時候調用的?默認的操作是...
    煙雨平生花飛舞閱讀 694評論 0 1

友情鏈接更多精彩內容