一、什么是UIApplication
- UIApplication对象是应用程序的象征.
- 每一个应用都有自己的UIApplication对象,这个对象是系统自动帮我们创建的, 它是一个单例对象.
- 一个iOS程序启动后创建的第一个对象就是UIApplication对象我们只能通过[UIApplication sharedApplication]获得这个单例对象,不能够手动去创建它
二、UIApplication的功能
- 设置应用提醒数字
- UIApplication *application = [UIApplication sharedApplication];
application.applicationIconBadgeNumber = 22;
- UIApplication *application = [UIApplication sharedApplication];
- 设置联网状态
- UIApplication *application = [UIApplication sharedApplication];
application.networkActivityIndicatorVisible = YES;
- UIApplication *application = [UIApplication sharedApplication];
- 设置状态栏,
- 设置状态栏样式
- 应用程序的状态栏,默认是交给控制器来管理的,可以直接在控制器中重写 - (UIStatusBarStyle)preferredStatusBarStyle 方法来设置状态栏样式,
- /* 状态栏的几种样式
UIStatusBarStyleDefault
UIStatusBarStyleLightContent
UIStatusBarStyleBlackTranslucent
UIStatusBarStyleBlackOpaque
*/
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
- 隐藏状态栏
- - (BOOL)prefersStatusBarHidden {
return YES;
}
- - (BOOL)prefersStatusBarHidden {
- 通过UIApplication来管理状态栏
- UIApplication *application = [UIApplication sharedApplication]; application.statusBarStyle = UIStatusBarStyleLightContent;
- 设置状态栏样式
-
- 注意:通常在开发中都是应用程序来统一管理状态栏的,在info.plist最后添加一个key: View controller-based status bar appearance设置为NO.就是应用程序来管理了. 并且控制器管理会无效。
- 但是有些控制器需要有不同的状态栏显示,可以在baseVC里设置,在需要不同的控制器重写。
- 跳转网页
- UIApplication *application = [UIApplication sharedApplication];
// URL:协议头: 域名 应用程序通过协议头的类型,去打开相应的软件.
NSURL *url =[NSURL URLWithString:@"http://www.baidu.com"];
[application openURL:url];
//打电话
[application openURL:[NSURL URLWithString:@"tel://10086"]];
//发短信
[application openURL:[NSURL URLWithString:@"sms://10086"]];
- UIApplication *application = [UIApplication sharedApplication];