iOS hit-Testing
来源:互联网 发布:现代启示录 知乎 编辑:程序博客网 时间:2024/06/05 12:05
UIView中提供两个方法用来确定hit-testing View
hitTest:withEvent:方法的处理流程:
先调用pointInside:withEvent:判断触摸点是否在当前视图内;
如果返回YES,
该视图的所有子视图调用hitTest:withEvent,调用顺序由层级低到高依次调用。
如果返回NO,
hitTest:withEvent返回nil,该视图的所有子视图的分支全部被忽略。
备注:
如果View的同级别Subview中有重叠的部分,则优先检查顶部的Subview,如果顶部的Subview返回nil, 再检查底部的Subview。
如果点击没有发生在某View中,那么该事件就不可能发生在View的Subview中,如果你的Subview设置了clipsToBounds=NO,实际显示区域可能超出了superView的frame,你点击超出的部分,是不会处理你的事件的。
以下情况导致自身和其所有子视图不能被hit-testing发现,无法响应触摸事件:
1.隐藏(hidden=YES)的视图
2.禁止用户操作(userInteractionEnabled=NO)的视图
3.alpha<0.01的视图
4.视图超出父视图的区域
0 0
- iOS Hit-Testing
- iOS hit-Testing
- iOS hit-Testing 2
- Hit-Testing in iOS
- iOS Hit-Testing事件响应链
- iOS事件分发机制(一) hit-Testing
- iOS事件分发机制(一) hit-Testing
- IOS消息机制之------Hit Testing 伪代码
- iOS-hitTest:withEvent与自定义hit-testing规则
- 关于hit-testing机制
- Hit Testing Lines and Curves
- IOS事件分发、Responder Chain(一)——hit-testing
- Win32 Series - Hit-Testing in Your Programs
- Visual Layer Overview(5)Hit Testing in the Visual Layer
- hit-Testing 子视图超出父试图部分上的控件响应事件
- iOS auto testing related summary
- IOS Unit Testing With OCMock
- TestFlight Tutorial: iOS Beta Testing
- PullToRefresh 的扩展
- 欢迎使用CSDN-markdown编辑器
- android Spinner控件详解
- 1010. Radix (25)
- Linux学习-VIM操作
- iOS hit-Testing
- SpringMVC 400 Bad Request 问题
- An error occurred while automatically activating bundle com.android.ide.eclipse.adt(259).
- 设备的 MAC 地址与预想的不符
- 正则提取的url中的域名以及替换域名的方法 preg_match()和preg_replace()
- java数据库连接池配置的几种方法
- Text To Speech 总结
- 功能仿真时发现一个很奇怪的东西
- unity3d动画插件Dotween使用学习笔记