**:
建立乙個類和例項化乙個類。 在ib中,孤零零的建立了乙個.nib檔案,沒有和其他科被例項化的類有直接或間接關係的時候,這個類或這些類是沒有機會被例項化的,所以這種情況只是通過ib建立了類,還沒有例項化。真正的例項化,需要在xcode用**來讀取這個.nib檔案。
initwithnibname
初始化uiviewcontroller,執行關鍵資料初始化操作。loadview注意在viewcontroller中不管呼叫是init 還是initwithnibname,都會呼叫這個方法。
注意這裡不要做view相關操作,view在loadview方法中才初始化,這時loadview還未呼叫。
如果是通過呼叫initwithnibname:bundle指定nib檔名初始化的話,viewcontroller會根據此nib來建立view。如果name引數為nil,則viewcontroller會通過以下兩個步驟找到與其關聯的nib:
1)如果viewcontroller的類名以「controller」結尾,例如viewcontroller的類名是myviewcontroller,則查詢是否存在myview.nib;
2)找跟viewcontroller類名一樣的檔案,例如myviewcontroller,則查詢是否存在myviewcontroller.nib
方法用於建立乙個uiviewcontroller的介面view。viewdidload無論ib,還是**建立,在self.view == nil時,都會呼叫》loadview方法。ib建立檢視時,loadview仍會被呼叫,此時ib定製的檢視還沒有建立完成,若是在loadview方法中新增檢視建立**,會將ib定製的檢視覆蓋掉。 所以,**定製檢視,一般在loadview裡寫; ib定製檢視時,不要改寫該方法。
[super loadview];這個父類中的方法不要忘記了。
**/ib建立檢視時,viewdidload被呼叫(這裡的載入屬於例項化)時,self.view已經建立完成。 可以在該方法中進一步定製view檢視。
在view即將新增到檢視層級中(顯示給使用者)且任意顯示動畫切換之前呼叫(這個時候supperview還是nil)。這個方法中完成任何與檢視顯示相關的任務,例如改變檢視方向、狀態列方向、檢視顯示樣式等
viewwilllayoutsubviews
view即將布局其subviews。比如view的bounds改變了(例如狀態列從不顯示到顯示,檢視方向變化),要調整subviews的位置,在調整之前要做的一些工作就可以在該方法中實現。viewdidlayoutsubviews
view已經布局其subviews。比如view的bounds改變了(例如狀態列從不顯示到顯示,檢視方向變化),已經調整subviews的位置,在調整完成之後要做的一些工作就可以在該方法中實現。viewwilllayoutsubviews
View Controller 生命週期
在srotyboard裡面放置任何控制項時,其實是把它冷凍起來,當viewcontroller需要使用時才會解凍 怎麼 解凍呢?它會呼叫 void awakefromnib 那 幾何初始化 控制項位置應該寫在 呢?ios6以後出現了兩種方法 void viewwilllayoutsubviews v...
取得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 ...