什么是KeyWindow

keyWindow : BOOL 类型,只读,用于判断是否是当前应用的 key window (key window 是指可接收到键盘输入及其他非触摸事件的 UIWindow,一次只能有一个 key window)

const UIWindowLevel UIWindowLevelNormal;      // 默认等级
const UIWindowLevel UIWindowLevelAlert;       // UIAlertView 的等级
const UIWindowLevel UIWindowLevelStatusBar;   // 状态栏的等级
typedef CGFloat UIWindowLevel;

UIWindowLevelNormal:0.000000
UIWindowLevelAlert:2000.000000
UIWindowLevelStatusBar:1000.000000

Level高的Window现在在前面

如果两个Level相同,调用方法makeKeyAndVisible的window被显示出来。

时间: 2024-10-13 00:03:22

什么是KeyWindow的相关文章

oc学习之路----application.keyWindow.rootViewController与self.window.rootViewController与[self.window makeKeyAndVisible];小发现

刚才调试的时候除了一些小问题,有一段代码要重用 NSString *key = @"CFBundleVersion"; // 取出沙盒中存储的上次使用软件的版本号 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSString *lastVersion = [defaults stringForKey:key]; // 取出当前版本号 NSString *currentVersion = [NSBun

计算视图相对坐标时convertPoint:toView: ,UIApplication sharedApplication - keyWindow is nil?

UIWindow *window = [UIApplication sharedApplication].keyWindow; window 为nil的原因:在指定rootViewController之前,没有让window 先可视化 1.示例  为nil: self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; self.window.backgroundColor = [UIColor whit

IOS9 KeyWindow为空的问题

建议写一个全局的宏 IOS9的[UIApplication sharedApplication].keyWindow 建议用代理的 +(UIWindow *)getKeyWindow{ if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9.0f){ return [[[UIApplication sharedApplication] delegate] window]; }else{ UIWindow *window = [

[UIApplication sharedApplication].keyWindow.rootViewController

一般来说 [UIApplication sharedApplication].keyWindow.rootViewController 会在 appDelegate 中初始化,并且整个应用运行过程中都不会变. 所以在很多地方需要用 presentModelViewController 方法时,用这个 rootViewController 是很方便的,因为它相当于一个全局变量,无需再申请.释放. 但是本人在使用过程中发现有 rootViewController 被改为 nil 的情况. 分析后发现

[UIApplication sharedApplication].keyWindow 添加视图无效,解决方案。

在rootViewController中的viewDidLoad:方法中调用[[UIApplication sharedApplication].keyWindow addSubview:] 发现无效 调试发现[UIApplication sharedApplication].keyWindow 为nil 因为这个时候appdelegate中的keywindow还没有创建成功 我们可以用[[[UIApplication sharedApplication] delegate] window] 代

【解决方法】iOS 开发小技巧

1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用). 其实在代码里还是可以设置的,那就是删除背景view [[self.searchBar.subviews objectAtIndex:0] removeFromSuperview]; 2,NSDate: [java] view plaincopy 字母  日期或时间元素    表示     示例 G     Era   标志符     Text     

iOS中可以设定时间自动消失提示框的三种实现方式

//============================================================================== #pragma mark - 一.显示定制View的消息,定时消失 //============================================================================== +(void)showMessage:(NSString *)message duration:(NSTim

shareSDK自定义分享界面UI

</pre>今天,处女座的设计师又丢过来几个页面的切图,需要更改UI界面,其中就有一个是分享的UI需要调整,找到shareSDK的官网,然后点击企业QQ,咨询那边技术"我要更改shareSDK的分享界面,我该从哪里下手",他告诉我说,除了分享平台的小图标和分享平台的文字能改,其他的比如UI是不能改的,如果用户要用share SDK的UI的话,每一行默认显示三个分享平台的小图标要改成四个都不改不了,但是他最后给我来了一句:如果实在要改的话,只能自己画UI,然后调用share

009-手势触摸事件处理

问题一:iOS中有哪些事件? •在用户使用app过程中,会产生各种各样的事件 •iOS中的事件可以分为3大类型 问题二:什么叫响应者对象? •在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件.我们称之为“响应者对象” •UIApplication.UIViewController.UIView都继承自UIResponder,因此它们都是响应者对象,都能够接收并处理事件 问题三:UIResponder内部提供了哪些处理事件的方法来处理事件? •UIRes