1.2UIApplication介绍
UIApplication作用
- UIApplication的核心作用是提供iOS程序运行期间的控制和协调工作。
- 每一个应用程序都有自己的UIApplication对象,而且是一个单例对象。
- 通过UIApplication对象可以进行一些应用级别的操作。
UIApplication对象的获取:
// 可以通过UIApplication的sharedApplication类方法获取系统创建的UIApplication对象
UIApplication *app = [UIApplication sharedApplication];
UIApplication常用属性和方法
// 应用程序代理
@property(nullable, nonatomic,assign) id<UIApplicationDelegate> delegate;
// 应用程序的主窗口
@property(nullable, nonatomic,readonly) UIWindow *keyWindow;
// 应用程序的窗口集合
@property(nonatomic,readonly) NSArray<__kindof UIWindow *> *windows;
// 设置网络状态默认为NO,YES可以在系统状态栏显示一个转动的菊花
@property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible __TVOS_PROHIBITED;
// 设置屏幕是否为常亮默认为NO,YES为常亮
@property(nonatomic,getter=isIdleTimerDisabled) BOOL idleTimerDisabled;
// 用来显示或者隐藏系统状态栏默认为NO,设置YES为隐藏系统状态栏
@property(readonly, nonatomic,getter=isStatusBarHidden) BOOL statusBarHidden __TVOS_PROHIBITED;
// 设置系统状态栏的样式默认为UIStatusBarStyleDefault
/*UIStatusBarStyle常用枚举值
UIStatusBarStyleDefault //黑暗模式
UIStatusBarStyleLightContent //灯光模式
*/
@property(readonly, nonatomic) UIStatusBarStyle statusBarStyle __TVOS_PROHIBITED;
// 可以设置应用程序图标上面的数字
@property(nonatomic) NSInteger applicationIconBadgeNumber __TVOS_PROHIBITED;
// 类方法,用来获取UIApplication对象
+ (UIApplication *)sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
// 可以打开一个指定的NSURL所指的资源
- (BOOL)openURL:(NSURL*)url NS_EXTENSION_UNAVAILABLE_IOS("");