在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 ...