美文网首页
UIApplication

UIApplication

作者: Llllalo | 来源:发表于2016-12-01 13:07 被阅读0次

    本文主要总结了以下两点:

    • 什么是UIApplication
    • 常用属性及方法的使用:
      • 获取对象
      • 设置状态栏隐藏
      • 改变状态栏字颜色:把默认的黑色改为白色
      • 显示和隐藏状态栏的网络活动标志
      • applicationIconBadgeNumber
      • 打开外部资源: openURL:方法

    什么是UIApplication

    • 提供了iOS程序运行期间的控制和协作工作
    • 一个iOS程序启动后创建的第一个对象就是UIApplication单利对象
    • 通过[UIApplication sharedApplication] 获取该单利对象

    常用属性已方法的使用

    1.获取对象

    • 获得UIApplication对象
    * [UIApplication sharedApplication];
    
    • 获得UIApplicationDelegate对象
    * [[UIApplication sharedApplication] delegate];
    
    • 获得UIWindow对象
    * [[UIApplication sharedApplication] windows];    // UIWindow数组
    * [[UIApplication sharedApplication] keyWindow];    // UIWindow数组中最后调用makeKeyAndVisible方法的UIWindow对象
    

    2.设置状态栏隐藏

    第一步:在Info.plist中添加一个View controller-based status bar appearance设置选项,设置为NO

    第二步:接着设置(两种方式)

    • Info.plist中添加Status bar is initially hidden设置选项,设置为YES
    • 或者 如图所示


    3.改变状态栏字颜色:把默认的黑色改为白色

    第一步:在Info.plist中设置UIViewControllerBasedStatusBarAppearanceNO

    第二步:接着设置(两种方式)

    • plist : 在Info.plist中添加UIStatusBarStyle,设置UIStatusBarStyleDefault 或者UIStatusBarStyleLightContent
    • 代码设置 :[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

    4.显示和隐藏状态栏的网络活动标志

       // 在向服务端发送请求状态栏显示网络活动标志:
       [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
    
       // 这里是发送服务端请求的代码
       // ...
    
       // 请求结束状态栏隐藏网络活动标志:
       [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
    

    5.applicationIconBadgeNumber

       // badge数字
       [UIApplication sharedApplication].applicationIconBadgeNumber = 3;
    
       float version = [[[UIDevice currentDevice] systemVersion] floatValue];
    
       if (version >= 8.0) {
         // 因为在IOS8中要想设置applicationIconBadgeNumber,需要用户的授权,在iOS8及以上,需要加上下面的代码,
         // 但是这两句如果在iOS7的系统中运行的话就会报错,所以需要先判断iOS的版本后使用:
           UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
           [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
           [application registerForRemoteNotifications];
       }
       // 消掉右上角badge number
       [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
    

    6.打开外部资源: 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://www.baidu.com"]];
    

    相关文章

      网友评论

          本文标题:UIApplication

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