控制器如何加载View
///> app 启动完成 程序准备开始运行
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
self.window = [[UIWindow alloc] init];
UIViewController *vc = [[ViewController alloc] init];
self.window.rootViewController = vc;
[self.window makeKeyAndVisible];
}
//viewController.m
@interface ViewController()
@end
@implementation ViewController
-(void)loadView{
//作用:用来创建控制器的view
//什么时候调用:当控制器的view第一次使用的时候调用 self.view的getter方法会调用该方法。
//使用场景:当控制器的view一开始显示时就是一张图片,或者是一个webview,可以节省内存。
//1.首先判断当前控制器是不是从storyboard中加载的,如果是,那么它就会把从storyboard中加载的view设置成当前控制器的view
//2.如果不是,那么会判断当前控制器是不会死从xib中加载的,那么会把xib当中指定的view设为当前控制器的view
//3.如果两者都不是,那么会创建一个空白的view,
//一旦重写了loadView,就说明要自己定义view
//让控制器一加载就显示一张图片
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"123"]];
self.view = imageView;
}
@end
//其实说白了,这个方法可以改变控制器的view对象,而不用默认的UIView
注意:一开始创建的控制器的view颜色是透明的,但不是透明的,透明的view不能处理事件。但颜色透明的view可以处理事件。