最开始 新建的是一个空文件 自己添加一个UIWindow
// 创建window 设置window为整个屏幕的 尺寸~
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
// 设置window的背景色
self.window.backgroundColor = [UIColor redColor];
// 显示window
// [self.window makeKeyWindow]; //只是让window成为keywindow(主窗口)
[self.window makeKeyAndVisible]; //让window成为主窗口 并且可见
[UIApplication sharedApplication].windows // 程序中所有的window的一个列表 数组的方式~
主程序中 只能有一个主窗口~
控制器的创建方法:
1. 直接alloc一个
JTOneViewController *one = [JTOneViewController alloc];
one.view.backgroundColor = [UIColor redColor];
self.window.rootViewController = one;
2. 先创建一个名字为Two 的storyboard 描述 控制器的内容 再⬇️
// 加载storyboard
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Two" bundle:nil];
// 创建storyboard里面灰色的控制器
// 初始化 “初始控制器” 箭头指的那一个
UIViewController *vc = [storyBoard instantiateInitialViewController];
self.window.rootViewController = vc;
// 通过一个标识初始化对应的控制器
self.window.rootViewController = [storyBoard instantiateViewControllerWithIdentifier:@“storyboard的标识名"];
3.用xib创建控制器 类似于storyboard xib名字:JTThree123
JTThreeViewController *three = [[JTThreeViewController alloc] initWithNibName:@"JTThree123" bundle:nil];
self.window.rootViewController = three;
注意: xib里的File’s Owner的Class 谁用写谁名
控制器 View 的创建顺序:
<img src="https://img-blog.csdn.net/20150916202541576?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
控制器View的延迟加载:
控制器的view是延迟加载的:用到时再加载 先创建的(先找创建的方法) 再根据代码改变view的属性
控制器的view加载完毕就会调用viewDidload方法
运行时先找loadView 然后是 等view创建好后运行viewDidLoad 里的代码 最后又返回到AppDelegate.m里
UIWindow
最新推荐文章于 2021-01-21 17:15:15 发布