UIApplication相关

  • UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序。

  • 每一个应用都有自己的UIApplication对象,而且是单例的,如果试图在程序中新建一个UIApplication对象,那么将报错提示。

  • 通过[UIApplicationsharedApplication]可以获得这个单例对象

  • 一个iOS程序启动后创建的第一个对象就是UIApplication对象,且只有一个(通过代码获取两个UIApplication对象,打印地址可以看出地址是相同的)。

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

UIApplication 单例

UIApplication *app = [UIApplication sharedApplication];

App图标的红点提醒

//注册一个用户通知
UIUserNotificationSettings *notice = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
[app registerUserNotificationSettings:notice];

//设置提醒值
app.applicationIconBadgeNumber = 1;

设置联网状态

app.networkActivityIndicatorVisible = true;

在UIViewController下设置:

设置状态栏样式

- (UIStatusBarStyle)preferredStatusBarStyle{
    /**
     UIStatusBarStyleDefault                                     = 0, // Dark content, for use on light backgrounds
     UIStatusBarStyleLightContent     NS_ENUM_AVAILABLE_IOS(7_0) = 1, // Light content, for use on dark backgrounds

     UIStatusBarStyleBlackTranslucent NS_ENUM_DEPRECATED_IOS(2_0, 7_0, "Use UIStatusBarStyleLightContent") = 1,
     UIStatusBarStyleBlackOpaque      NS_ENUM_DEPRECATED_IOS(2_0, 7_0, "Use UIStatusBarStyleLightContent") = 2,
     */
    return UIStatusBarStyleBlackOpaque;
}

隐藏状态栏

- (BOOL)prefersStatusBarHidden
{
    return YES;
}

如果想通过UIApplication设置或隐藏状态栏

首先设置info.plist键值:

这样就可以

//隐藏状态栏
app.statusBarHidden = YES;

//设置状态栏样式
app.statusBarStyle = UIStatusBarStyleLightContent;

openUrl:

//注意,iOS10用如下方法
[app openURL:[NSURL URLWithString:@"sms://10000"] options:nil completionHandler:nil];

//拨电话
[app openURL:[NSURL URLWithString:@"tel://10000"]];

//发短信
[app openURL:[NSURL URLWithString:@"sms://10000"]];

//发邮件
[app openURL:[NSURL URLWithString:@"mailto://[email protected]"]];

//打开网址
[app openURL:[NSURL URLWithString:@"http://www.baidu.com"]];

results matching ""

    No results matching ""