【转】iOS UIApplication详解
1、状态栏UIStateBar的设置是在UIApplication里面设置的,它包含4中风格
2、 - (void)beginIgnoringInteractionEvents;
-
(void)endIgnoringInteractionEvents;
-
(BOOL)isIgnoringInteractionEvents;
这三种方法一般用于动画开始和结束设置,让动画执行期间,用户的其他触摸事件暂时不去响应。这样就不用弄遮罩层了,视图上的其他控件就没法响应了,等到动画结束后才能响应。
3、@property(nonatomic,getter=isIdleTimerDisabled) BOOL idleTimerDisabled;
属性:用来设置屏幕是否进入睡眠,默认是NO,即默认是会进入睡眠的,一般情况下只有游戏或者是一直需要用户交互事件的才设置为YES,不让它空闲的时候自动进入睡眠
4、networkActivityIndicatorVisible
属性:设置网络那个小菊花是否一直转动,默认是NO,设置为YES后菊花一直转动
5、@property(nonatomic) NSInteger applicationIconBadgeNumber; //设置应用图标上的未读数目,类似QQ上的未读消息数目提醒
6、UIApplication是一个单例模式,整个app只有一个
7、canOpenUrl:(NSString*)url
此方法判断能否打开一个url资源
openUrl:(NSString *)url
打开一个url资源,如果这个url是另外一个app的url,另外一个app将会启动。url支持几种类型:http,https,电话、视频聊天、email
8、- (void)sendEvent:(UIEvent *)event
任何事件都可以在这里被截获
9、@property(nonatomic,readonly) NSArray *windows;跟keywindow
刚开始看了觉得很奇怪,不是说一个应用只有一个窗口吗?干嘛还弄个数组,结果一测试才知道输出来以后,除了window还有UITextEffetsWindow。网上查了keywindow是指当前活跃的window,与用户交互的window。而windows是指当前app打开的所有window,比如键盘也在一个window里面,alert也在一个window里面。在windows数组里面,window是根据windowLevel来排列的,最后一个覆盖在最上面。这里的windows数组不包括系统提供的window,比如说状态栏就是在一个系统创建的window里面
注意:keyWindow不是一成不变的,当你创建alertView或者ActionSheet的时候,它们所在的window会变成keyWindow。也就是说系统默认创建的window首先变成keywindow,而当弹框的时候,alertView所在的window变成keywindow,默认的keywindow变成非keywindow。
关于keywindow可以看http://www.cnblogs.com/smileEvday/archive/2012/11/16/UIWindow.html
Library/Developer/Xcode/DerivedData/ModuleCache/1OBAADQ9M9L2X
IOS7下隐藏状态栏:setStatusBarHidden不起作用