(一) 创建控制器的四种方法
(1)sb // 传niu就相当于[NSBundle mainbundle]; UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MYStoryBoard" bundle:nil]; self.window.rootViewController = [sb instantiateInitialViewController]; (2)sb+可重用标示 UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MYStoryBoard" bundle:nil]; UIViewController *control = [sb instantiateViewControllerWithIdentifier:@"MYSB"]; (3)xib : xib需要一个输出口 MYViewController *con = [[MYViewController alloc] initWithNibName:@"MYViewController" bundle:nil]; self.window.rootViewController = con; (4)纯代码
(二)控制器的View的多种创建方式
只有Sb创建的view默认才是白色,并且可以自己随意更改。如果通过代码创建的view,样式是空白的。如果xib和控制器名字一样,那么控制器直接alloc init出来的就是xib的。
(1)纯代码创建:是黑色的
// 1.纯代码 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; self.window.backgroundColor = [UIColor clearColor]; self.window.rootViewController = [[ViewController alloc] init]; [self.window makeKeyAndVisible];
(2)sb创建:是白色的,颜色看你心情
(3)xib创建要看控制器名字和xib名字。如果控制器是MYViewController,那么MY,MYViewController,其他...优先级依次降低。
(4)在控制器中调用LoadView方法:优先级最最高。重写后啥也不写就变黑了。
(三)控制器创建流程:
控制器的view是延时加载的。
时间: 2024-10-19 22:36:29