控制器几种创建方式:
一:通过storyboard文件创建
// 1.创建窗口
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
// 2.加载main.storyboard文件,初始化storyboard描述的控制器
// UIStoryboard : 帮你加载storyboard文件
// 加载storyboard文件
// name:storyboard文件名,不需要后缀名
UIStoryboard *storyboard = [UIStoryboardstoryboardWithName:@"Main"bundle:nil];
// 创建storyboard描述的控制器
// 1> instantiateInitialViewController帮你加载箭头指向的控制器
UIViewController *vc = [storyboardinstantiateInitialViewController];
// 2> 根据标识符创建storyboard描述的控制器
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"org"];
// 3.设置窗口的根控制器,显示窗口
self.window.rootViewController = vc;
// 4.显示窗口
[self.window makeKeyAndVisible];
二:通过加载xib创建控制器
// 根据xib创建窗口的根控制器
// init底层会调用initWithNibName:bundle:
XMGViewController *vc = [[XMGViewController alloc] initWithNibName:nil bundle:nil];
// 1.创建窗口
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
// 2.获得控制器
XBViewController *vc = [[XBViewController alloc] initWithNibName:@"XBViewController" bundle:nil];
// 3.设置为根控制器
self.window.rootViewController = vc;
// 4.窗口显示:
[self.window makeKeyAndVisible];
控制器的view的创建:
// 通过xib创建XMGViewController控制器的view
// 1.判断下nibName有没有值,如果有值,就会去加载nibName指定的xib
// 2.如果nibName为空,会先去查找有没有XMGView.xib,如果有就去加载
// 3.如果没有XMGView.xib,就会去加载根类名同名的xib:XMGViewController.xib
// 4.如果还没有找到,就生成一个空的view,这个view几乎透明,单并没有完全透明
// 设置控制器的view完全透明
vc.view.backgroundColor = [UIColor whiteColor];
// alpha <= 0.01 完全透明(这个是个临界值)
vc.view.alpha = 0.02;