iOS开发基础 当用户触摸屏幕上某点之后系统做了什么?
来源:互联网 发布:java 访问 动态链接库 编辑:程序博客网 时间:2024/06/09 13:19
首先,开启了查找hit-view的过程,根据触点的坐标,视图给直接子视图发hitTest消息,询问该点是否在其中,子视图发现如果点不在其中,则返回nil,如果发现点在其中,则该子视图再继续给他的所有直接子视图发hitTest消息,层层深入后,直到某一个视图不再具有子视图,但是点在它内部,则它将自己返回,于是就找到了hitView
然后,系统开始提供响应,如果该视图有响应,则执行响应代码,如果没有提供响应,则将事件传递给父视图甚至于控制器,一直到代理,如果这个链条中都没有提供响应,则该事件被抛弃
但是,如果这次触摸的点在文本框中,hitView为UITextField类型的,则不会再去一层层的找响应,而是直接让文本框成为了第一响应者,window检测到第一响应者类型是文本框时,自动弹出键盘
所以,如果想关闭键盘,让文本框放弃第一响应者身份即可
0 0
- iOS开发基础 当用户触摸屏幕上某点之后系统做了什么?
- ios监听用户是否触摸了屏幕的一种实现
- ios监听用户是否触摸了屏幕的一种实现
- iOS触摸点击事件之runloop做了什么?
- Windows Store apps开发[46]当用户点击Toast通知时,我们可以做些什么
- 当我们老了,什么都来不及做了!
- 莫往Applicaotion存缓存/app被系统回收之后再打开发生了什么
- commit之后undo和data block 做了什么?
- 当你输入 nova boot时,client做了什么?
- 当你达到了一个高度、你需要做什么?
- koa:当创建一个服务时,做了什么
- 当我们打开一个网页,浏览器做了什么?
- 安卓弹出ProgressDialog进度框之后触摸屏幕就消失了的解决方法
- 安卓弹出使用Dialog创建的对话框之后触摸屏幕就消失了的解决方法
- linux 系统被入侵之后你要做什么
- linux 系统被入侵之后你要做什么
- iOS 9对前端做了什么?
- puts("Hello world!")系统做了什么?
- Spring——jar包详解
- RGB/HSV/YUV/Lab颜色空间模型总结
- 三条命令实现Mysql,InnoDB数据从一台服务器拷贝到另外一台服务器
- 题目1021:统计字符
- awk begin
- iOS开发基础 当用户触摸屏幕上某点之后系统做了什么?
- Bestcoder #80 B
- javascript计时器
- Caffe使用step by step:caffe框架下的基本操作和分析
- apache ab 相关参数
- 用C#识别图像中的文字_MODI OCR
- Sitemesh 3 的使用及配置
- hadoop2.6.0版本集群环境搭建
- JNI:illegal class name(jstring char*类型转换时