UIApplication
2016-04-23 本文已影响261人
letaibai
UIApplication是一个单例对象,一个系统中只有一个UIApplication对象.它可以用来管理应用级的消息通知/打开网页/状态栏的显示与隐藏/是否在联网状态等内容.
获取UIApplication对象
UIApplication *app = [UIApplication sharedApplication];
1.设置系统消息,只需设置UIApplication的applicationIconBadgeNumber属性
//创建UIUserNotificationSettings对象
UIUserNotificationSettings *set = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
//In iOS 8.0 and later, your application must register for user notifications using -[UIApplication registerUserNotificationSettings:] before being able to set the icon badge.
//在iOS8及以后,你的应用必须通过[UIApplication registerUserNotificationSettings:]方法来注册用户通知之后,才能设置applicationIconBadge属性
[app registerUserNotificationSettings:set];
//设置消息数量
app.applicationIconBadgeNumber = 10;
效果图:
提醒用户是否允许发送通知 显示消息数量2.设置联网状态
//设置联网状态
app.networkActivityIndicatorVisible = YES;
效果图
联网时出现旋转的小菊花3.打开网页
//点击按钮打开网址
- (IBAction)openUrl:(id)sender {
//获取UIApplication对象
UIApplication *app = [UIApplication sharedApplication];
//创建网址
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
//打开网址
[app openURL:url];
}
效果图
点击打开网页4.设置状态栏,以下方法均可
//设置状态栏隐藏
[app setStatusBarHidden:YES withAnimation:YES];
//设置状态栏隐藏
[app setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
注意:在ios7以后,状态栏默认由控制器管理,所以,在iOS7以后需要设置以下方法才能隐藏状态栏
- (BOOL)prefersStatusBarHidden{
return YES;
}
//设置状态栏样式
- (UIStatusBarStyle)preferredStatusBarStyle{
return UIStatusBarStyleLightContent;//白色
return UIStatusBarStyleDefault;//默认
}
效果图:
设置状态栏为UIStatusBarStyleLightContent 设置状态栏为UIStatusBarStyleDefault