View Controller 生命週期

2021-07-03 23:00:27 字數 1055 閱讀 5739

在srotyboard裡面放置任何控制項時,其實是把它冷凍起來,

當viewcontroller需要使用時才會解凍

怎麼 解凍呢?它會呼叫  

-(void) awakefromnib

那…幾何初始化、控制項位置應該寫在**呢?????

ios6以後出現了兩種方法

-(void) viewwilllayoutsubviews;

-(void) viewdidlayoutsubviews;

應該要把跟幾何相關的**寫在這裡,

當轉動螢幕的時候,它會試著使用這些方法去改變size、point,

尤其是有時候你不知道autolayout會把控制項移動到什麼位置,

但是又很想要手動改變它的座標,

viewdidlayoutsubviews是很適合寫**的地方,

因為這時候系統已經全部布局完成了

總結一下viewcontroller生命週期,如下圖

1-1.從storyboard中進行實體化

如果是透過storyboard生成,就會呼叫awakefromnib

1-2  [[*** alloc] initwithnibname:bundle:]

2. 如果storyboard裡面有設定iboutlet的話, vidwdidload就會載入

3. storyboard裡面的幾何設定都設定完畢之後,

就會呼叫viewwilllayoutsubviews、viewdidlayoutsubviews

5.controller裡面幾何有變化時,會再次呼叫

viewwilllayoutsubviews、viewdidlayoutsubviews

6. viewcontroller從螢幕上面離開的時候

7.在執行以上流程時,中間出現記憶體不足的情況時,就會呼叫

didreceivememorywarning

ios基礎 ViewController 生命週期

viewcontroller是ios應用程式中重要的部分,是應用程式資料和檢視之間的重要橋梁,viewcontroller管理應用中的眾多檢視。ios的sdk中提供很多原生viewcontroller,以支援標準的使用者介面,例如表檢視控制器 uitableviewcontroller 導航控制器 ...

取得viewController展示view

非檢視類中想要隨時展示乙個view時,可以直接宣告乙個view,然後只需要將被展示的view加到當前view的子檢視,或者想把乙個view隨時加到乙個viewcontroller時,這樣就需要獲得當前螢幕的這個viewcontroller了,這個方法在網上找到了,自己用了的確可以用 獲取當前螢幕顯示...

獲得當前ViewController

easy ti get your current view controller in display 使你的view controller 繼承自 baseviewcontroller make your viewcontroller inheritance baseviewcontroller ...