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

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

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

2. 设置了控件的 userInterActionEnabel = NO

3. hidden属性为YES

4. 控件的alpha < = 0.01

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

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

 

7. 触发事件的过程

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

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

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

 

8. 响应事件的过程

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

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

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

 

你可能感兴趣的:(控件不接收用户交互的情况以及事件响应顺序)