【一个iOS文档错误】关于keyWindow是否可以接受触摸事件?
 
关于keyWindow,官方文档有一个解释: 同一时间只有一个window可以成为keyWindow,keyWindow可以接受键盘和非触摸事件,(iOS6遵守此行为,但是iOS7和iOS8在模拟上没有遵守此行为)

原文如下

    The key window is the one that is designated to receive keyboard and other non-touch related events.
Only one window at a time may be the key window.
 

截图如下

先说结论,稍后验证:

在iOS6以前的条件下, 文档是正确的。 但是在iOS7和iOS8上经过验证:keyWindow是可以接受触摸事件的。 推测是Apple修改了这个功能,但是没有更新文档导致的。

具体证明过程见下:

新建一个自定义的UIWindow:MyWindow,并将该MyWindow设置为keyWindow,在MyWindow中添加如下代码:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"别摸我");
}
 

点击屏幕后,可以打印。得出结论:在iOS7和iOS8上:keyWindow是可以接受触摸事件的。

 
注意: 在将MyWindow设置为keyWindow时记得,设置MyWindow的背景颜色,如果不设置,是不能够打印的!因为UIView的alpha(透明度)是零的话,是不能响应任何交互的。
 

【一个iOS官方文档错误】关于keyWindow是否可以接受触摸事件?的更多相关文章

  1. 微信小程序官方文档错误整理

    大致看了一遍微信小程序文档,发现有几处微小的错误,但瑕不掩瑜.记录下,以后发现了还会继续在此添加.如果有记录不对的,请及时指出错误. 1.视图层->WXSS->尺寸单位 明显错误,应该为 ...

  2. iOS官方文档阅读 基本格式指北

    一些关键词作用 NS_AVAILABLE 表示可用 如 NS_AVAILABLE(NA, 6_0);例如上面这句就是表示 该方法在6.0系统后可用 如果在6.0以下的系统用不了的 或者直接崩溃. NS ...

  3. iOS·官方文档译文框架源码注解

    导语

  4. TagHelper的一些个人学习体会(发现了微软官方文档的一个错误)

    最近一直在学习.net core 上周六开始学习Taghelper的自定义,准备周日写个博客和大家分享一下学习体会,无奈周日去考科四了,回来之后就感冒了,现在还没好.可是我发现了微软官方文档的一个错误 ...

  5. iOS开发官方文档汇总

    程序员的学习过程是无止境的,程序员学习的途径是多样的.可以从视频教程中领悟,也可以从他人的代码中 理解.但当我们专注于某一个平台在开发的时候,对于某个API使用或者功能实现有疑问,通常简单的测试可以让 ...

  6. ios学习笔记第四天之官方文档总结

    start developing ios app today. 官方文档的体系结构为: 各层的主要框架图: objectice-c是动态语言 Objective-C 为 ANSI C 添加了下述语法和 ...

  7. Django官方文档学习1——第一个helloworld页面

    Django 1.10官方文档:https://docs.djangoproject.com/en/1.10/intro/tutorial01/ 1.查看django版本 python -m djan ...

  8. Hui之Hui.js 官方文档

    基础 // 判断值是否是指定数据类型 var result = hui.isTargetType("百签软件", "string"); //=>true ...

  9. 【AutoMapper官方文档】DTO与Domin Model相互转换(上)

    写在前面 AutoMapper目录: [AutoMapper官方文档]DTO与Domin Model相互转换(上) [AutoMapper官方文档]DTO与Domin Model相互转换(中) [Au ...

随机推荐

  1. JqueryEasyUI教程入门篇

    什么是jQueryEasyUI? JqueryUI是一组基于jQuery的UI插件集合 学习jQueryEasyUI的条件? 必须掌握Jquery的基本语法知识 jQueryEasyUI的特点? 1. ...

  2. commonjs amd cmd的区别

    一篇博客告诉你三者的区别:http://zccst.iteye.com/blog/2215317 告诉你三者同requirejs seajs的区别:http://blog.chinaunix.net/ ...

  3. 微信WeixinJSBridge API

    <!DOCTYPE html><html> <head> <title>微信WeixinJSBridge API</title> <m ...

  4. hibernate事务

    hibernate事务 9.3 Hibernate的事务管理 事务(Transaction)是工作中的基本逻辑单位,可以用于确保数据库能够被正确修改,避免数据只修改了一部分而导致数据不完整,或者在修改 ...

  5. UVA5870 乱搞 Smooth Visualization

    #include<stdio.h> #include<string.h> #define maxn 1201 ][],s[maxn]; int col; int getmax( ...

  6. struts2中把action中的值传递到jsp页面的例子

    例子: RegistAction的代码: package com.wss.action; import javax.servlet.http.HttpServletRequest; import or ...

  7. jauery加入项目中,但是在页面中显示没有找到这个文件--springMVC框架

    遇到一件很不爽的事情,自己明明已经把jquery的文件放在了项目中,但是在页面中总是看不到效果,开发者模式提示没有找到文件,当时都要郁闷疯了,后来无意间看到了Eclipse中报的错,怎么与Spring ...

  8. Type-Length-Value编码

    Within data communication protocols, optional information may be encoded as a type-length-value or T ...

  9. myeclipse 引入jar包 (包括 jdbc 驱动引用)

    A.直接用MyEclipse里自带的相关的项目jar包,右击项目"MyEclipse"菜单,选择对应的jar包就OK了 B.添加外部的jar包到web项目的lib包下,右击项目&q ...

  10. sublime text2 ctrl+b出现错误

    查看提示的那个文件,发现是path那里写了一个/,是不符合条件的,得写 //