UIApplication

2016-12-01  本文已影响0人  Llllalo

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

  • 什么是UIApplication

什么是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

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

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"]];
上一篇下一篇

猜你喜欢

热点阅读