控件不接收用户交互的情况以及事件响应顺序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了控件不接收用户交互的情况以及事件响应顺序相关的知识,希望对你有一定的参考价值。

开发中经常会遇到控件不接收用户交互了,可以从以下几个方面检查:

1. enable = NO 就不可以被点击 ->也会让按钮显示禁用状态

2. 设置了控件的 userInterActionEnabel = NO

3. hidden属性为YES

4. 控件的alpha < = 0.01

5. 如果一个父控件与用户的交互设置为NO ,那么它子控件将获取不到交互事件

6.如果子视图超出父视图范围,超出范围的部分也不能接收用户交互

 

7. 触发事件的过程

1). 交互事件,是先由父控件获取到,然后父控件判断,点击的区域上有没有子控件

2). 判断没有子控件,父控件就自己处理

3).如果有子控件,它会判断子控件是否可以响应交互,如果可以的话,就将交互传递给子控件

 

8. 响应事件的过程

1).先由子控件进行响应

2).如果子控件未响应,则由父控件响应

3).如果子控件响应了,那父控件就获取不到响应

 

以上是关于控件不接收用户交互的情况以及事件响应顺序的主要内容,如果未能解决你的问题,请参考以下文章

iOS学习笔记— UIView用户事件响应

响应者链

响应者链条,如何获取最佳的点击view 以及内部实现

在网页中引用DWG控件,交互绘图,和响应鼠标点击对象的方法

WPF命令

Jascript OC交互