首页 > 代码库 > UIApplication

UIApplication

UIApplication的简介:

                UIApplication对象是应用程序的象征.

                每一个应用都有自己的UIApplication对象,而且是单例.

                通过[UIApplication sharedApplication]可以获取这个单例对象

                利用UIApplication对象,可以进行一些应用级别的操作

UIApplication的应用:

                设置应用图标上显示的消息数:

            UIApplication *app = [UIApplication sharedApplication];

            app.applicationIconBadgeNumber = 5;

                 // 但是如果是IOS8这样写还不够,还需要注册权限

       UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
       [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
       //这样之后,在执行上面图标上显示消息个数的代码.(而且这个注册的代码只需要一次就够了,如果删除改注册的代码,下次直接使用i.中的代码即可)

        设置联网状态:

      app.networkActivityIndicatorVisible = YES;//当进行网络连接时,会出现"菊花"标识.

        访问资源:

      [app openURL:[NSURL URLWithString:@"tel://10086"]]; //打电话(模拟器不能捉)
          [app openURL:[NSURL URLWithString:@"sms://10086"]];//发短信
          [app openURL:[NSURL URLWithString:@"mailto://123456@qq.com"]];//发邮件
          [app openURL:[NSURL URLWithString:@"http://www.baidu.com"]];//打开网页资源
          [app openURL:[NSURL URLWithString:@"其他程序的资源路径"]];//打开其他应用

       改变状态栏:

      //控制状态栏(ios7以后控制状态栏的工作默认交给控制器去做,而不是UIApplication)
      //只写下面两句没有效果.(必须在Info.plist文件里面配置一下--设置View controller-based status bar appearance的值为NO)
          //对状态栏的改变可以实现动画效果,但是控制器做不到
          //app.statusBarHidden = YES;
          [app setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
          app.statusBarStyle = UIStatusBarStyleLightContent;
          
          //下面是利用控制器来改变状态栏(没有利用UIApplication灵活,直接在controller中实现即可)
          /*
          -(BOOL)prefersStatusBarHidden{
              return YES;
          }
          
          -(UIStatusBarStyle)preferredStatusBarStyle{
              return UIStatusBarStyleLightContent;
          }*/


UIApplication