控制器如何加載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可以處理事件。