1.loadView作用:
- 創(chuàng)建控制器的View,第一次創(chuàng)建View的時(shí)候調(diào)用
// 創(chuàng)建view的懶加載方法
-(UIView *)view{
if (view == nil){
[self loadView];
[self viewDidLoad];
// 其他。攻锰。饲趋。。
}
return view;
}
在調(diào)用loadView時(shí):
-(void)loadView{
[super loadView];
}
其中:[super loadView]; 系統(tǒng)做了如下一些事情:
- 1.先判斷storyBoard炮温,是否從storyBoard里面加載View.(如果不是)
- 2.再判斷是否從Xib里面加載View.(如果不是)
- 3.創(chuàng)建一個(gè)空白的View.(疑問火脉?什么是空白View)
** 2.loadView一般使用情況 **
需求:程序一起動(dòng)顯示一張圖片,或者加載一個(gè)webView.
解釋:因?yàn)槲覀內(nèi)绻趘iewDidLoad里面添加一張圖片柒啤,或者添加webView.則系統(tǒng)總共創(chuàng)建了self.view和(你要?jiǎng)?chuàng)建東西)兩個(gè)對象倦挂。如果是在loadView里面創(chuàng)建,則只創(chuàng)建了(你要?jiǎng)?chuàng)建東西)一個(gè)對象担巩。
-(void)loadView{ // 不要調(diào)用[super loadView]
UIImageView *imageV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"icon0"]];
self.view = imageV;
}
3.什么時(shí)候回觸發(fā)loadView方法
只要調(diào)用self.view就會(huì)觸發(fā)
4.解釋什么是空白View
影響View顯示的有兩種:
1方援、self.view.alpha = 0; // 為零時(shí),看不到view
2涛癌、self.view.backgroundColor = [UIColor clearColor];
那到底是那種情況呢犯戏,通過測試,是第二種情況拳话。
(注意:當(dāng)alpha=0時(shí)先匪,該view不能響應(yīng)事件。當(dāng)改變父類的alpha時(shí)弃衍,子類也會(huì)受影響呀非。)