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