本文共 1648 字,大约阅读时间需要 5 分钟。
如果用StoryBoard创建控制器,不走init方法
方法一. 通过xib创建控制器
/**
.在创建控制器的时候直接指定要加载xib作为控制器的view,
> 需要修改xib文件的fileOwner的class
> 需要将fileOwner里面的view指向xib里面的view
1.xib文件的名称与控制器的名称不同
2.xib文件的名称跟控制器相似,但是不同名
3.xib文件的名称与控制器的名称同名
*/
// 1.创建窗口
// brightness 可以调节屏幕亮度
self.window = [[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];
// 2.设置窗口的根控制器
//加载名称不同名称的xib
// CZXibController *xibVc = [[CZXibController alloc] initWithNibName:@"CZMmd" bundle:nil];
// 加载相似名称的xib
// CZXibController *xibVc = [[CZXibController alloc] init];
// 加载名称相同的xib
CZXibController *xibVc = [[CZXibControlleralloc]init];
self.window.rootViewController = xibVc;
// 3.让窗口做为主窗口并且可见
[self.windowmakeKeyAndVisible];
return YES;
}
方法二:通过storyboard创建控制器
// 1.创建窗口
self.window = [[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];
// 2.设置根控制器
// 1.先加载sb文件
UIStoryboard *czsb = [UIStoryboardstoryboardWithName:@"CZSb"bundle:nil];
// instant 实例化
//加载箭头指向的控制器
UIViewController *sbVc = [czsb instantiateInitialViewController];
//加载指定重用标示符的控制器
UIViewController *sbVc = [czsbinstantiateViewControllerWithIdentifier:@"sb"];
self.window.rootViewController = sbVc;
// 3.作为主窗口并可见
[self.windowmakeKeyAndVisible];
方法三:纯代码创键
> 1. 先创建一个窗口
// UIWindow *window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]
self.window = [[UIWindowalloc]initWithFrame:[UIScreenmainScreen].bounds];
// > 2. 设定窗口的根控制器为自定义控制器
Xcode7中如果不设置窗口的根控制器会崩溃, 6.4没有问题
CZViewController *customVc = [[CZViewControlleralloc]init];
// 调用loadView方法加载view,并且把viewDidLoad方法也执行了
customVc.view.backgroundColor = [UIColorredColor];
self.window.rootViewController = customVc;
// > 3. 将这个窗口作为主窗口并显示
[self.windowmakeKeyAndVisible];
转载地址:http://hqlgi.baihongyu.com/