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"]];