1.loadView作用:
- 创建控制器的View,第一次创建View的时候调用
// 创建view的懒加载方法
-(UIView *)view{
if (view == nil){
[self loadView];
[self viewDidLoad];
// 其他。。。。
}
return view;
}
在调用loadView时:
-(void)loadView{
[super loadView];
}
其中:[super loadView]; 系统做了如下一些事情:
- 1.先判断storyBoard,是否从storyBoard里面加载View.(如果不是)
- 2.再判断是否从Xib里面加载View.(如果不是)
- 3.创建一个空白的View.(疑问?什么是空白View)
** 2.loadView一般使用情况 **
需求:程序一起动显示一张图片,或者加载一个webView.
解释:因为我们如果在viewDidLoad里面添加一张图片,或者添加webView.则系统总共创建了self.view和(你要创建东西)两个对象。如果是在loadView里面创建,则只创建了(你要创建东西)一个对象。
-(void)loadView{ // 不要调用[super loadView]
UIImageView *imageV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"icon0"]];
self.view = imageV;
}
3.什么时候回触发loadView方法
只要调用self.view就会触发
4.解释什么是空白View
影响View显示的有两种:
1、self.view.alpha = 0; // 为零时,看不到view
2、self.view.backgroundColor = [UIColor clearColor];
那到底是那种情况呢,通过测试,是第二种情况。
(注意:当alpha=0时,该view不能响应事件。当改变父类的alpha时,子类也会受影响。)
网友评论