本次部落格是一篇總結性質的部落格,總結的是各種建立控制器的方式以及一些需要注意的操作。
通過 storyboard 建立控制器也是在 main inte***ce 沒有選定的時候,但是我們還使用系統建立好的 main.storyboard,通過不同的方法來建立視窗的根控制器。
//初始化方法:建立視窗
self.window = [[uiwindow alloc] initwithframe:[uiscreen mainscreen].bounds];
//例項**:引數1:storyboard檔名,不需要帶字尾
//引數2:置為nil時表示[nsbundle mainbundle]
+ (uistoryboard *)storyboardwithname:(nsstring *)name bundle:(nullable nsbundle *)storyboardbundleornil;
//① 指定箭頭指向的控制器為視窗的根控制器載入storyboard
//storyboard檔名,不需要帶字尾,初始化為 main.storyboard,name就是main
//nil: [nsbundle mainbundle]
uistoryboard *storyboard = [uistoryboard storyboardwithname:@"
main
" bundle:nil];
方法:
//例項**:載入箭頭指向的控制器
- (nullable __kindof uiviewcontroller *)instantiateinitialviewcontroller;
//例項圖:通過storyboard建立控制器
//instantiateinitialviewcontroller:載入箭頭指向的控制器
uiviewcontroller *vc = [storyboard instantiateinitialviewcontroller];
如上圖:我們將粉色背景的控制器設定為預設 main.storyboard
的控制器,當我們使用上述**時,程式執行的效果是:如下圖的乙個粉色視窗
② 通過 storyboard
id 來建立根控制器
方法:
//例項**:引數為:storyboard id 的字串
- (__kindof uiviewcontroller *)instantiateviewcontrollerwithidentifier:(nsstring *)identifier;
//正如 ① 中所示的圖,我們將綠色背景的控制器的 storyboard id通過 storyboard id 建立控制器
uiviewcontroller *vc = [storyboard instantiateviewcontrollerwithidentifier:@"
green
"];
置為 "green",但是main.storyboard
的預設控制器仍然為粉色背景的控制器,使用上述例項**,執行結果為如下圖的乙個綠色視窗
建立xib的方法:
① 在建立乙個檢視控制器的類的時候,將 also create xib file 選中之後,就會建立出來乙個和控制器類對應的xib,如下圖:
這種方法建立的xib的名字與所對應的類名相同。
② 建立乙個名字可以自定義的 xib
建立後的設定:(具體如下圖)
(1)選擇檔案所有者選項
(2)繫結控制器
(3)繫結xib檢視
通過xib建立根控制器的方法是乙個控制器的初始化方法,例項**:
//載入xib的特殊寫法:通過xib建立控制器
viewcontroller *vc = [[viewcontroller alloc] initwithnibname:@"
viewcontroller
" bundle:nil];
//以上 xib 的特殊寫法載入 xib view 檢視的底層實現:特殊寫法1:
uiviewcontroller *vc =[[viewcontroller alloc] initwithnibname:nil bundle:nil];
//特殊寫法2:
uiviewcontroller *vc = [[viewcontroller alloc] init];
如果描述控制器 view 的 xib 跟控制器的類名相同,就會去載入
只有控制器的 init 方法底層會呼叫 initwithnibname:bundle:
只要通過 initwithnibname:bundle: 初始化控制器,並且 nibname 為 nil ,就會執行以下幾步:
(1)先尋找有沒有跟控制器類名同名但是不帶controller的xib,如果有就會去載入(xmgview.xib)
(2)如果沒有就尋找有沒有跟控制器類名同名的xib,如果有就會去載入(xmgviewcontroller.xib)
(3)如果都沒有找到,建立空的view,
iOS開發之控制器的建立
1 控制器常見的建立方式有以下幾種 1 通過storyboard建立 2 直接建立 hxviewcontroller hx hxviewcontroller alloc init 3 指定xib檔案來建立 hxviewcontroller hx hxviewcontroller alloc init...
iOS開發之控制器View的建立
首先我們來看一下以下情況window上會載入什麼樣的控制器view。1 根據之前講到的,先建立乙個和控制器 hxviewcontroller 同名的xib檔案 檔案中view灰色 並載入初始化該控制器,使它成為window的根控制器。設定file s owner控制器,拖線指定view hxview...
iOS學習筆記 047 控制器View的建立
三根據loadview建立 四根據storyboard建立 五有指定xib情況下建立 六有同名去掉controller的 xib情況 七有同名xib情況 八沒有同名xib的情況 九控制器的view的backgroundcolor說明 十控制器view的延遲載入 重寫控制器的loadveiw方法 如果...