[iOS基础控件 - 6.10.5] UIApplication
A.概念
1.UIApplication对象是应用程序的象征,每个应用都有
2.单例
3.[UIApplication sharedApplication] 获取
4.iOS启动创建的第一个对象
5.利用UIApplication可以进行应用级的操作
B.使用
1.app的消息数量图标提示
1 // 1.取得UIApplication 2 UIApplication *app = [UIApplication sharedApplication]; 3 4 // 2.1 授权, iOS8之后必须要先授权才能进行修改信息通知数字的操作,授权之前要判断系统是否是iOS8,否则iOS8之前的系统会出错 5 if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) { 6 NSLog(@"支持iOS8 - 系统版本:%d", __IPHONE_OS_VERSION_MIN_REQUIRED); 7 8 UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil]; 9 [app registerUserNotificationSettings:settings]; 10 11 } 12 13 // 2.2 图标的信息通知数字 14 app.applicationIconBadgeNumber = 10;
2.联网状态提示
// 3.联网提示
app.networkActivityIndicatorVisible = YES;
3.打开资源
1 // 4.打开URL资源 2 /** 3 * 可以是本地资源 file:///Users/hellovoidworld/Pictures/G1/M2.jpg 省略了主机地址 4 * 也可以是网络资源 http://www.baidu.com 5 * 打电话 tel://10086 6 * 短信 sms://10086 7 * 邮件 mailto://12345@qq.com 8 * 系统会根据资源类型来选择打开方式 9 */ 10 NSLog(@"打开url"); 11 [app openURL:[NSURL URLWithString:@"http://www.baidu.com"]];
#mark: 我这里试验打开本地文件失败,没有任何反应
4.跟其他app通信
(这里没有详细学习)
5.管理状态栏
iOS7之后还可以使用controller管理状态栏,所有controller都可以控制,这是默认的控制方法
在这之前,UIApplication是控制状态栏的唯一方法,要进行配置进行转换(不使用controller进行控制)
这个方法还可以带动画方法,而且因为UIApplication是单例的,管理方便。
1 // 5.管理状态栏 2 // 5.1使用动画效果隐藏状态栏 3 // [app setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade]; 4 5 // 5.2 使用动画效果变化状态栏成白色 6 [app setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];