加載控制器的view的幾個過程

主要還是和- (void)loadView方法相關荸百,所以下面筆者主要來說一下它的注意點

  • 系統(tǒng)是通知loadView方法創(chuàng)建控制器的view.

    • 1.判斷當前的控制器是否從StoryBoard加載的.如果是,從StoryBoad當中創(chuàng)建View(下面通過代碼補充思想:)
    • 2.如果不是,還會判斷當前控制器,是否有xib進行描述.如果有,就會從Xib里面創(chuàng)建View
    • 3.如果也不是xib來描述的,那么它就會給創(chuàng)建一個空的UIView.該UIView本身不是透明的
    • 4.創(chuàng)建空白的View顏色是透明的,即clearColor
    
    -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    // 創(chuàng)建窗口
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    // 設置根控制器
    UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"ViewController" bundle:nil];
    //加載StoryBoard當中箭頭指向的控制器.
    UIViewController *VC =  [storyBoard instantiateInitialViewController];
    

// ViewController *VC = [[ViewController alloc] init];
self.window.rootViewController = VC;

// 顯示窗口
[self.window makeKeyAndVisible];

return YES;

}
```

Main.storyboard圖:


ViewController.xib圖:

ViewController.storyboard圖:

筆者在storyboardWithName傳的參數(shù)不是Main,如果是Main的話,運行效果圖為:


傳的參數(shù)是ViewController,運行效果圖為:

如果代碼是上面注釋的部分:ViewController *VC = [[ViewController alloc] init]; 那么效果圖為:

/**
 *  如果不實現(xiàn)loadView方法滨攻,控制器默認有一個loadView方法够话,
 默認系統(tǒng)怎么加載控制器的view呢蓝翰,先去storyboard里面找,沒有找到
 再去與控制器名稱相同的xib里面找,沒有找到更鲁,在去名稱相同去掉Controller的xib
 里面找霎箍,還沒有找到,程序員也沒有重寫loadView方法澡为,那么系統(tǒng)默認會
 創(chuàng)建一個view,顏色是clearColor,如果實現(xiàn)了loadView方法的話景埃,上面的都不會做
 */

//系統(tǒng)是通知loadView方法創(chuàng)建控制器的view.
//1.判斷當前的控制器是否從StoryBoard加載的.如果是,從StoryBoad當中創(chuàng)建View.
//2.如果不是,還會判斷當前控制器,是否有xib進行描述.如果有,就會從Xib里面創(chuàng)建View
//3.如果也不是xib來描述的,那么它就會給創(chuàng)建一個空的UIView.

//在開發(fā)當中一但重寫了loadView,需要自己創(chuàng)建View.
//一般用在什么地方
//1.當控制器的view一進來就是一個圖片時
//2.當控制器一進來就去加載一個網(wǎng)頁時.
- (void)loadView {

    UIImageView *imageV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Default"]];
    imageV.frame = [UIScreen mainScreen].bounds;

    //如果一個控件它的父控件不能夠接收事件,那么它里面的子控件都不能夠接收事件.UIImageView對象的屬性userInteractionEnabled默認就是NO,所以要格外注意
    imageV.userInteractionEnabled = YES;

    self.view = imageV;
}

// loadView是當?shù)谝淮问褂每刂破鱒iew的調(diào)用.調(diào)用控制器view的get方法媒至,里面會繼續(xù)調(diào)用loadView方法,所以就造成了死循環(huán)谷徙,所以在給self.view賦值之前拒啰,絕對不能出現(xiàn)self.view的字眼,因為會調(diào)用view的get方法完慧,那樣會造成死循環(huán)

//-(UIView *)view {
//    if (_view == nil) {
//        [self loadView];
//    }
//    return _view;
//}

重點總結: 和筆者前面總結的不沖突谋旦,注意,如果我們在storyboard里面拖了一個新的控制器屈尼,那么我們可能需要去描述它通過新建一個對象生成.h和.m文件册着,然后我們在選中storyboard里面剛剛拖的新的控制器,給它賦值上剛剛新建的類名脾歧,讓他們兩個進行關聯(lián)甲捏,那么重點來了,它不會走上面總結的路線鞭执,什么檢查storyboard,xib,創(chuàng)建默認的view司顿,都不會走,這是一個全新的概念兄纺,記住大溜,只要是往storyboard里面拖的控制器,那么它里面的view是會自動加載的估脆,不需要你去關心钦奋,記住,over

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末旁蔼,一起剝皮案震驚了整個濱河市锨苏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌棺聊,老刑警劉巖伞租,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異限佩,居然都是意外死亡葵诈,警方通過查閱死者的電腦和手機裸弦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來作喘,“玉大人理疙,你說我怎么就攤上這事∨⑻梗” “怎么了窖贤?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長贰锁。 經(jīng)常有香客問我赃梧,道長,這世上最難降的妖魔是什么豌熄? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任授嘀,我火速辦了婚禮,結果婚禮上锣险,老公的妹妹穿的比我還像新娘蹄皱。我一直安慰自己,他們只是感情好芯肤,可當我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布巷折。 她就那樣靜靜地躺著,像睡著了一般纷妆。 火紅的嫁衣襯著肌膚如雪盔几。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天掩幢,我揣著相機與錄音逊拍,去河邊找鬼。 笑死际邻,一個胖子當著我的面吹牛芯丧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播世曾,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼缨恒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了轮听?” 一聲冷哼從身側(cè)響起骗露,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎血巍,沒想到半個月后萧锉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡述寡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年柿隙,在試婚紗的時候發(fā)現(xiàn)自己被綠了叶洞。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡禀崖,死狀恐怖衩辟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情波附,我是刑警寧澤艺晴,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站掸屡,受9級特大地震影響财饥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜折晦,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望沾瓦。 院中可真熱鬧满着,春花似錦酷麦、人聲如沸刚梭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缕探。三九已至魂莫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間爹耗,已是汗流浹背耙考。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留潭兽,地道東北人倦始。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像山卦,于是被迫代替她去往敵國和親鞋邑。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 前言: 這部分內(nèi)容账蓉,對于大部分人來說使用起來可能已經(jīng)非常熟練枚碗,但是涉及到的細節(jié)還是挺多的,對于新開發(fā)者可能不是...
    饒鵬偉閱讀 972評論 1 5
  • 控制器的創(chuàng)建 1.怎么自己通過storyboard創(chuàng)建控制器(空項目),之前都是系統(tǒng)加載 storyboard,幫...
    SoManyDumb閱讀 349評論 0 0
  • *7月8日上午 N:Block :跟一個函數(shù)塊差不多铸本,會對里面所有的內(nèi)容的引用計數(shù)+1肮雨,想要解決就用__block...
    炙冰閱讀 2,492評論 1 14
  • 最近有一個來自天津的6歲小女孩火了。 在電視上归敬,她隨口拋出大段《四書五經(jīng)》中的句子酷含,不僅能夠背誦國學經(jīng)典而且能夠活...
    青青亮園閱讀 139評論 0 0
  • 我心目中的大學鄙早,要有良好的學習氛圍,有很多有思想有見解的同學椅亚,有很多有意思的社團限番,有一間大大的圖書館,有很多有趣的...
    op牽絆閱讀 1,991評論 0 2