UIApplication

作者: letaibai | 来源:发表于2016-04-23 12:04 被阅读261次

    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

    相关文章

      网友评论

      本文标题:UIApplication

      本文链接:https://www.haomeiwen.com/subject/ougxrttx.html