【转】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不起作用

posted @ 2015-09-24 09:34  WillkYang  阅读(240)  评论(0编辑  收藏  举报