1) UIApplication对象是应用程序的象征
2) 每一个应用都有自己的UIApplication对象,而且是单例的
3) 一个iOS程序启动后创建的第一个对象就是UIApplication对象
4) 通过[UIApplication sharedApplication]可以获得这个单例对象
5) 利用UIApplication对象,能进行一些应用级别的操作
UIApplication可以操作状态栏。
在ios7中默认情况下,状态栏都是由UIViewController管理的,如果改用UIApplication管理,需要设置
Info.plist文件,如下图所示:
// 对ios8做一下用户许可,在ios7中不需要
// 获取系统版本
float version = [[[UIDevice currentDevice] systemVersion] floatValue];
if(version > 8.0){
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
}
UIApplication *app = [UIApplication sharedApplication];
// 1. 设置图标右上角的数字
app.applicationIconBadgeNumber = 10;
// 2. 清除图标右上角的数字(将值设置为0即为清空数字)
app.applicationIconBadgeNumber = 0;
// 3. 设置显示联网状态
app.networkActivityIndicatorVisible = YES;
// 4. openURL的使用方法
// 4.1. 打电话
[app openURL:[NSURL URLWithString:@"tel://10086"]];
// 4.2. 发短信
[app openURL:[NSURL URLWithString:@"sms://10086"]];
// 4.3. 打电话
[app openURL:[NSURL URLWithString:@"mailto://767416500@qq.com"]];
// 4.4. 打开一个网络资源
[app openURL:[NSURL URLWithString:@"http://baidu.com"]];
// 4.5. 打开一个本地资源
[app openURL:[NSURL URLWithString:@"file:///Users/lupan/Desktop/Foundation构架秘籍.txt"]];
// 5. 设置状态栏的显示(从ios7开始提供了两种管理状态栏的方式,第一种是用控制器管理,第二种是用UIApplication管理)
// 5.1. 隐藏状态栏
app.statusBarHidden = YES;
// 5.2. 设置状态栏的颜色为白色
app.statusBarStyle = UIStatusBarStyleLightContent;
// 5.3. 使用动画的方式设置状态栏的隐藏和颜色
[app setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
[app setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];