注:学习笔记,不喜勿喷。
时间:2016.8.1
1、UIApplication对象是应用程序的象征。
2、每一个应用程序都有自己的UIApplication对象,而且是单例的。
3、通过 [UIApplication sharedApplication] 可以获得这个单例对象。
4、一个iOS程序启动后创建的第一个对象就是UIApplication对象。
5、利用UIApplication对象,能进行一些应用级别的操作。
UIApplication的常用属性
1、设置应用程序图标右上角的红色提醒数字
@property (nonatomic) NSInteger applicationIconBadgeNumber;
UIApplication *app = [UIApplication sharedApplication];
app.applicationIconBadgeNumber = 10;
//iOS8以后需要注册通知
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
[app registerUserNotificationSettings:settings];
2、设置联网指示器的可见性
@property (nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible;
app.networkActivityIndicatorVisible = YES;
3、从iOS7开始,系统提供了2种管理状态栏的方式
>通过UIViewController管理(每一个UIViewController都可以拥有自己不同的状态栏)。在iOS7中,默认情况下,状态栏都是由UIViewController管理的,UIViewController实现下列方法就可以轻松管理状态栏的可见性和样式。
状态栏的样式
- (UIStatusBarStyle)preferredStatusBarStyle;
状态栏的可见性
- (BOOL)prefersStatusBarHidden;
>通过UIApplication管理(一个应用程序的状态栏都有它统一管理)
改变状态栏的默认管理方式(从默认的由UIViewController管理改成由UIApplication管理)。在info.plist增加配置。
app.statusBarHidden = YES;
//设置隐藏状态栏时的动画效果,iOS9以后弃用。
[app setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
4、openURL:
UIApplication有个功能十分强大的openURL:方法
- (BOOL)openURL:(NSURL*)url;
openURL:方法的部分功能有
>打电话
UIApplication *app = [UIApplication sharedApplication];
[app openURL:[NSURL URLWithString:@"tel://10086"]];
>发短信
[app openURL:[NSURL URLWithString:@"sms://10086"]];
>发邮件
[app openURL:[NSURL URLWithString:@"mailto://12345@qq.com"]];
>打开一个网页资源
[app openURL:[NSURL URLWithString:@"http://baidu.com"]];
>打开其他 app程序