标签:
首先找到程序入口,执行main函数
main -> UIApplicationMain
UIApplicationMain底层做事情
1> 创建UIApplication对象
2> 创建UIApplication的代理对象,而且给UIApplication对象代理属性赋值
3> 开启主运行循环,作用接收事件,让程序一直运行
4> 加载info.plist,判断下有木有指定main.storyboard,如果指定就会去加载
1> 加载info.plist,判断有没有指定main.storyboard,指定了main.storyboard,就会去加载main.storyboard,执行main.storyboard的时候创建窗口,加载控制器,设置窗口的根控制器,显示窗口。
2> 在加载info.plist文件之后,如果没有指定main.storyboard,会在程序启动完成的时候创建窗口。 (手动创建窗口
)
1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 2 // 窗口显示的注意点: 3 // 1.一定要强引用 4 // 2.控件要想显示出来,必须要有尺寸 5 6 // 1.创建窗口 7 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 8 9 // 2.创建根控制器,在设置窗口的根控制器 10 UIViewController *vc = [[UIViewController alloc] init]; 11 12 // 设置窗口的根控制器,底层会自动把根控制器的view添加到窗口上,并且让控制器的view有旋转功能 13 self.window.rootViewController = vc; 14 15 // 3.显示窗口 16 // makeKeyAndVisible:让窗口成为应用程序的主窗口,并且显示窗口 17 [self.window makeKeyAndVisible]; 18 19 return YES; 20 }
1> UIApplication对象是应用程序的象征
2> 每一个应用都有自己的UIApplication对象,而且是单例的。通过[UIApplication sharedApplication]可以获得这个单例对象。
3> 一个iOS程序启动后创建的第一个对象就是UIApplication对象
4> 利用UIApplication对象,能进行一些应用级别的操作
1 // 获取应用程序的象征 2 UIApplication *app = [UIApplication sharedApplication]; 3 4 // 应用程序图片的提醒数字 5 app.applicationIconBadgeNumber = 100; 6 7 // 创建通知对象 8 UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil]; 9 // 注册用户通知 10 [app registerUserNotificationSettings:settings];
1 // 联网状态 2 app.networkActivityIndicatorVisible = YES;
1 // 打开网页 2 NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"]; 3 [app openURL:url];
在iOS7之后,状态栏默认交给控制器处理
1 // 状态栏的隐藏 2 - (BOOL)prefersStatusBarHidden 3 { 4 return YES; 5 } 6 // 状态栏的样式 7 - (UIStatusBarStyle)preferredStatusBarStyle 8 { 9 return UIStatusBarStyleLightContent; 10 }
那么在iOS7之后如何设置
用UIApplication对象管理状态栏:
(在info.plist中添加一个字典View controller-based status bar appearance = NO)
使用UIApplication对象管理状态栏的好处
1.统一管理.(控制器很多的情况下用控制器不好管理)
// app.statusBarHidden = YES;
2. 隐藏状态栏可以设置动画
1 [app setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
---恢复内容结束---
标签:
原文地址:http://www.cnblogs.com/iyxooo/p/4706257.html