UIApplication简单使用

作者: 飞翔的道长 | 来源:发表于2016-05-24 14:12 被阅读483次
  • 整个app中只有一个UIApplication,是单例的

  • UIApplication一般用来做一些应用级别的操作(app的提醒框,联网状态,打电话,打开网页,控制状态栏)

    • 设置app的右上角角标
      // UIApplication是单例的,即在内存中只有一格实例化的UIApplication
      UIApplication *app = [UIApplication sharedApplication];
      
      // 设置右上角标数字,必须注册用户通知,否则不生效
      app.applicationIconBadgeNumber = 10;
      
      // 创建用户通知
      UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
      
      // 注册用户通知
      [app registerUserNotificationSettings:settings];
    
    • 设置联网状态
      // UIApplication是单例的,即在内存中只有一格实例化的UIApplication
      UIApplication *app = [UIApplication sharedApplication];
      
      app.networkActivityIndicatorVisible = YES;
    
    
    • 隐藏状态栏
      • 需要注意的是在iOS7以后Apple建议状态栏默认由控制器决定。如果想要由UIApplication决定需要在info.plist里加一条View controller-based status bar appearance的key并把value设置为NO
      // 获取UIApplication
      UIApplication *app = [UIApplication sharedApplication];
    
      [app setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
    
    • 利用openURL方法打开网页、打电话、发短信、打开网页
       
   UIApplication *app = [UIApplication sharedApplication];
   
   // 打电话
   [app openURL:[NSURL URLWithString:@"tel://1234567"]];
   
   // 发短信
   [app openURL:[NSURL URLWithString:@"sms://1234567"]];
   
   // 发邮件
   [app openURL:[NSURL URLWithString:@"mailto://12345@qq.com"]];
   
   // 打开网页
   [app openURL:[NSURL URLWithString:@"http://www.baidu.com"]];
  • UIApplication的系统默认创建的delegate方法

  // 程序启动完成的时候调用
  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
      NSLog(@"%s",__func__);
      return YES;
  }

  // 当app失去焦点的时候调用
  - (void)applicationWillResignActive:(UIApplication *)application {
          NSLog(@"%s",__func__);
  }

  // app进入后台的时候调用
  // app忽然打断的时候,在这里保存一些需要用到的数据
  - (void)applicationDidEnterBackground:(UIApplication *)application {
          NSLog(@"%s",__func__);
  }


  // app进入即将前台
  - (void)applicationWillEnterForeground:(UIApplication *)application {
          NSLog(@"%s",__func__);
  }

  // 当app获取到焦点的时候调用,意味着app可以与用户交互
  - (void)applicationDidBecomeActive:(UIApplication *)application {
          NSLog(@"%s",__func__);
  }

  // app被关闭的时候调用
  - (void)applicationWillTerminate:(UIApplication *)application {
          NSLog(@"%s",__func__);
  }

  // app接收到内存警告的时候调用
  - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
  {
      NSLog(@"%s",__func__);
  }

相关文章

网友评论

    本文标题:UIApplication简单使用

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