码迷,mamicode.com
首页 > 移动开发 > 详细

[iOS基础控件 - 6.10.7] UIWindow & 程序启动过程

时间:2014-12-18 01:36:10      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   ar   io   color   os   使用   sp   

A.UIWindow概念
1.继承UIView,是一种特殊的UIView
2.通常一个APP只有一个UIWindow
3.iOS程序启动后,创建的第一个视图就是UIWindow
4.没有UIWindow,不能显示任何东西
 
bubuko.com,布布扣
 
B.使用
1.创建一个Empty Application项目
没有了storyboard,要手动实现UIWindow的创建代码(其实这就是storyboard做的事情)
1     // 手动创建UIWindow,并加到screen上
2     self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
3     self.window.backgroundColor = [UIColor whiteColor];
4     [self.window makeKeyAndVisible];
 
2.创建一个控制器
bubuko.com,布布扣
 
3.把控制器的view添加到UIWindow
(1)直接添加控制器的view到UIWindow
1     // 添加控制器
2     ViewController *controller = [[ViewController alloc] init];
3     [self.window addSubview:controller.view];
 
不建议此方法,因为
a.可能自定义控制器变量被销毁之后,其view还在UIWindow中被使用,如果再使用控制器会引起崩溃
b.由于没有传自定义控制器给UIWindow,不能处理各种相关事件(例如屏幕旋转)
bubuko.com,布布扣
 
(2)设置自定义控制器为UIWindow的rootViewController
设置了根控制器之后,会自动把自定义控制器的view加到UIWindow
1     // 添加控制器
2     ViewController *controller = [[ViewController alloc] init];
3 //    [self.window addSubview:controller.view];
4     self.window.rootViewController = controller;
 
(3)在controller中设置状态栏可视
1 - (BOOL)prefersStatusBarHidden {
2     return NO;
3 }
 
bubuko.com,布布扣
 
 
4.界面切换
其实是不同的控制器替换到UIWindow上面
改变self.window.rootViewController
 
 
 

[iOS基础控件 - 6.10.7] UIWindow & 程序启动过程

标签:style   blog   http   ar   io   color   os   使用   sp   

原文地址:http://www.cnblogs.com/hellovoidworld/p/4170821.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!