0.3.1.UIApplication
1.什么是UIApplication?
注意:UIApplication不能手动创建,不能alloc init,一个应用程序只允许 一个。 为什么要弄成单例,UIApplication对象是用来设置应用全局信息的,一个应用程序如果有很多UIApplication对象,都不知道听谁的。验证:单例和不能alloc,init
2.UIApplication的作用:做应用级别的操作
2.1> 设置应用图标右上角的数字,图标需要手动清除,应用程序关闭,不会自动清除.
applicationIconBadgeNumber
// 设置appIcon提醒数字,必须注册用户通知,ios7以后
[UIApplication sharedApplication].applicationIconBadgeNumber = 10;// 创建用户通知
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
// 注册用户的通知
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
2.2>显示联网状态,告诉用户此应用正在联网
networkActivityIndicatorVisible
// 设置联网状态
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
2.3>打开一个资源
// URL:资源路径
// URL:协议头://域名+路径 http,https,file,tel
// 协议头:
// 打开网页 @"http://www.baidu.com"
//打电话
NSURL *url = [NSURL URLWithString:@"tel://131111"];
[[UIApplication sharedApplication] openURL:url];
3.URL:一个资源的唯一路径
3.1>网络资源URL的组成==协议头://主机域名/路径
http://www.baidu.com/abc/1.png
3.2>本地资源URL的组成==协议头:///路径 本机域名可以不写
file:///User/apple/Desktop/1.png
4.UIApplication打开资源的好处:不用判断用什么软件打开,系统会自动根据 协议头判断。
5.UIApplication管理状态栏.
//在iOS7以后,状态栏默认由控制器决定
//隐藏状态栏
- (BOOL)prefersStatusBarHidden
{
return YES;
}
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
5.1> ios7默认交给控制器,需要配置下,不交给控制器管理,就会交个 UIApplication管理。
info.plist里面配置View controller-based status bar appearance为No就可以使用UIApplication来管理状态栏了。
[[UIApplication sharedApplication] setStatusBarHidden:YES];
5.2>动画隐藏状态栏
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
5.3>动画设置状态栏样式