UIApplication 基础篇介绍

简介: UIApplication 基础篇介绍

做iOS开发的同学对UIApplication一定不陌生,当我们想要弹框,蒙层等功能时,都会使用类似如下的操作:

UIWindow *delegateWindow = [UIApplication sharedApplication].delegate.window;

UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;

这里面delegateWindow和keyWindow的区别你是否了解?还有UIApplication是不是也深入了解过?

UIApplication,代表的是整个应用做的事,因此每个程序只能有一个,系统使用的是单例模式,就是上面的[UIApplication sharedApplication]来得到一个实例。这个单例实例是在系统启动时由main函数里面的UIApplicationMain方法生成,就是每个程序里都有的AppDelegate,它实现了UIApplicationDelegate的Protocol,也就是AppDelegate的一个实例。每次通过[UIApplication sharedApplication]调用的就是它。

UIApplication在程序里的角色:它保存一个UIWindow对象序列,用来快速恢复views。

UIApplication的核心作用是提供了iOS程序运行期间的控制和协作工作。

1.简单介绍

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

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

(3)通过[UIApplicationsharedApplication]可以获得这个单例对象

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

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

2.应用级别的操作示例:

1)设置应用程序图标右上角的红色提醒数字(如QQ消息的时候,图标上面会显示1,2,3条新信息等。)

@property(nonatomic) NSInteger applicationIconBadgeNumber;

代码实现和效果:

UIApplication 一些其他属性
//通过sharedApplication获取该程序的UIApplication对象
UIApplication *app=[UIApplication sharedApplication];
app.applicationIconBadgeNumber=123;
//设置指示器的联网动画
app.networkActivityIndicatorVisible=YES;
//设置状态栏的样式
 //app.statusBarStyle=UIStatusBarStyleDefault;//默认(黑色)
//设置为白色+动画效果
[app setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
//设置状态栏是否隐藏
app.statusBarHidden=YES;
//设置状态栏是否隐藏+动画效果
[app setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade]



相关文章
|
7月前
|
Web App开发 缓存 JavaScript
WKWebView相对UIWebView的优劣势
WKWebView相对UIWebView的优劣势
60 1
|
iOS开发
UIApplication 基础篇介绍
UIApplication 基础篇介绍
|
监控
2022完整版UIApplication的介绍以及应用
2022完整版UIApplication的介绍以及应用
2022完整版UIApplication的介绍以及应用
2022完整版UIApplication的介绍以及应用
|
Java iOS开发
IOS学习笔记二十一(NSDictionary、NSMutableDictionary)
IOS学习笔记二十一(NSDictionary、NSMutableDictionary)
185 0
|
iOS开发
iOS开发之UIView与UIViewController的生命周期总结
iOS开发中,创建View常见的两种方式一个是纯代码,一个是借助于XIB;创建ViewController常见的也有两种方式一个是纯代码,一个是借助于StoryBoard。
1270 0
不调用- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken的原因
一般 -(void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 不调用的原因有如下几种: 1、证书原因 检查证书是否失效 2、设置中没有打开通知的开关 这是最常见的错误,首先要检查的就是这个。
2394 0
UIApplication初识
原文地址:http://www.cnblogs.com/wendingding/p/3766347.html 一、UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序。
1095 0