iOS基础知识iOS学习开发iOS Developer

UIApplication

2016-04-23  本文已影响261人  letaibai

UIApplication是一个单例对象,一个系统中只有一个UIApplication对象.它可以用来管理应用级的消息通知/打开网页/状态栏的显示与隐藏/是否在联网状态等内容.

获取UIApplication对象

    UIApplication *app = [UIApplication sharedApplication];

1.设置系统消息,只需设置UIApplication的applicationIconBadgeNumber属性

    //创建UIUserNotificationSettings对象
    UIUserNotificationSettings *set = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
    //In iOS 8.0 and later, your application must register for user notifications using -[UIApplication registerUserNotificationSettings:] before being able to set the icon badge.
    //在iOS8及以后,你的应用必须通过[UIApplication registerUserNotificationSettings:]方法来注册用户通知之后,才能设置applicationIconBadge属性
    [app registerUserNotificationSettings:set];
    //设置消息数量
    app.applicationIconBadgeNumber = 10;

效果图:

提醒用户是否允许发送通知 显示消息数量

2.设置联网状态

    //设置联网状态
    app.networkActivityIndicatorVisible = YES;

效果图

联网时出现旋转的小菊花

3.打开网页

  //点击按钮打开网址
- (IBAction)openUrl:(id)sender {
    //获取UIApplication对象
    UIApplication *app = [UIApplication sharedApplication];
    //创建网址
    NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
    //打开网址
    [app openURL:url];
}

效果图

点击打开网页

4.设置状态栏,以下方法均可

    //设置状态栏隐藏
    [app setStatusBarHidden:YES withAnimation:YES];
    //设置状态栏隐藏
    [app setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
注意:在ios7以后,状态栏默认由控制器管理,所以,在iOS7以后需要设置以下方法才能隐藏状态栏
- (BOOL)prefersStatusBarHidden{
    return YES;
}
//设置状态栏样式
- (UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;//白色
    return UIStatusBarStyleDefault;//默认
}

效果图:

设置状态栏为UIStatusBarStyleLightContent 设置状态栏为UIStatusBarStyleDefault
上一篇下一篇

猜你喜欢

热点阅读