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>动画设置状态栏样式

results matching ""

    No results matching ""