?发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中 ?UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口(keyWindow) ?主窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件,这也是 ...
分类:
其他好文 时间:
2016-09-09 10:12:58
阅读次数:
109
1.事件是怎么样产生与传递的? 当发生一个触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中.(队列是先进先出,而栈是先进后出) UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理.首先交给主窗口keywindow去处理 主窗口会在视图层 ...
分类:
移动开发 时间:
2016-08-26 15:22:28
阅读次数:
214
UIWindow的作用 UIWindow主要有两个作用: 1 作为UIView视图的最顶层容器,包含所有要显示的UIView 2 传递触摸,非触摸,键盘事件,其中传递非触摸和键盘事件时,UIWindow必须是keyWindow(经过实验,传递触摸事件时不需要UIWindow是keyWindow,但是 ...
分类:
移动开发 时间:
2016-08-05 15:59:56
阅读次数:
253
swif: let tabBarController: UITabBarController = UIApplication.sharedApplication().keyWindow?.rootViewController as! UITabBarController let nav: UINav ...
分类:
其他好文 时间:
2016-07-21 19:30:04
阅读次数:
192
- (UIViewController *)currentController { UIViewController *result = nil; UIWindow *window = [[UIApplication sharedApplication] keyWindow]; if (window ...
分类:
其他好文 时间:
2016-06-30 19:52:04
阅读次数:
164
iOS中加载的时候会先执行main函数 根据main函数的参数加载UIApplication->AppDelegate->UIWindow->UIViewController->superView->subViews关系为:UIApplication.keyWindow.rootViewContro ...
分类:
移动开发 时间:
2016-06-12 01:43:16
阅读次数:
196
触摸事件传递 ?发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中 ?UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口(keyWindow) ?主窗口会在视图层次结构中找到一个最合适的视图来处理触 ...
分类:
其他好文 时间:
2016-05-05 21:55:31
阅读次数:
131
UIWindow *window = [UIApplication sharedApplication].keyWindow; window 为nil的原因:在指定rootViewController之前,没有让window 先可视化 1.示例 为nil: self.window = [[UIWin ...
分类:
移动开发 时间:
2016-04-21 06:58:35
阅读次数:
187
- (UIViewController *)getCurrentVC { UIViewController *result = nil; UIWindow * window = [[UIApplication sharedApplication] keyWindow]; if (window.win ...
分类:
移动开发 时间:
2016-04-11 11:35:04
阅读次数:
183
原理图如下: - (void)show{ UIWindow *win = [[UIApplication sharedApplication] keyWindow]; UIView *topView = [win.subviews objectAtIndex:0]; [topView addSubv ...
分类:
其他好文 时间:
2016-04-01 20:20:27
阅读次数:
125