1、概述
UIApplication对象是应用程序的象征。每一个应用都有自己的UIApplication对象,而且是单例(只能有一个对象,我们不能去创建新对象,只能获取这个对象)的。通过[UIApplication sharedApplication]可以获得这个单例对象。一个iOS程序启动后创建的第一个对象就是UIApplication对象。利用UIApplication对象,能进行一些应用级别的操作。
2、UIApplication的常用属性
1、设置应用程序图标右上角的红色提醒数字
@property(nonatomic) NSInteger applicationIconBadgeNumber;
2、设置联网指示器的可见性
@property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible;
3、iOS7中的状态栏
1、状态栏的管理
从iOS7开始,系统提供了2种管理状态栏的方式:
第一种:
通过UIViewController管理(每一个UIViewController都可以拥有自己不同的状态栏)。
第二种:
通过UIApplication管理(一个应用程序的状态栏都由它统一管理)。
利用UIViewController来管理状态栏:
在iOS7中,默认情况下,状态栏都是由UIViewController管理的,UIViewController实现下列方法就可以轻松管理状态栏的可见性和样式:
(1)状态栏的样式
- (UIStatusBarStyle)preferredStatusBarStyle;
(2)状态栏的可见性
- (BOOL)prefersStatusBarHidden;
利用UIApplication来管理状态栏
利用UIApplication来管理状态栏:
如果想利用UIApplication来管理状态栏,首先得修改Info.plist的设置。
之后就可以用UIApplication来管理状态栏了:
比如:使用一个淡出动画效果隐藏状态栏:
[app setStatusBarHidden:YES withAnimation:UISta tusBarAnimationFade];
设置状态栏的风格为白色:
app.statusBarStyle = UIStatusBarStyleLightContent;
隐藏状态栏:
app.statusBarHidden = YES;
2、openURL
UIApplication有个功能十分强大的openURL:方法
- (BOOL)openURL:(NSURL*)url;
openURL:方法的部分功能:
(1)打电话
UIApplication *app = [UIApplication sharedApplication];
[app openURL:[NSURL URLWithString:@"tel://10086"]];
(2)发短信
[app openURL:[NSURL URLWithString:@"sms://10086"]];
(3)发邮件
[app openURL:[NSURL URLWithString:@"mailto://[email protected]"]];
(4)打开一个网页资源(自动跳转到浏览器打开)
[app openURL:[NSURL URLWithString:@"http://ios.itcast.cn"]];
(5)打开其他app程序
. . . . . . .