UITableView以及ScrollView不能相迎TouchBegin处理
2016-08-15 09:20
459 查看
重写touchBegin 方法是不行的,在UITableView/UIScrollView
解决方案 重写hitTest:withEvent: 在他们的子类中
关于hitTest:withEvent:
字面意思是撞击测试,当手指触摸到当前屏幕上活跃的 app 界面。ios 系统会将 当前触摸操作 打包,具体就是UIEvent
屏幕上的每一次动作都是一个UITouch,多个UITouch 组成一次UIEvent. UIEvent 表示一次事件。
传递给当前活跃的App keyWindow.正常情况下 hitTest 确定屏幕上众多View 中哪一发生了事件。
返回值 不为nil 则一值 查找view 的子view 重复调用hisTest 确定事件。
这边还有别人给的一些方法:
重写touch方法http://blog.csdn.net/aaidong/article/details/45914435
添加手势识别器:http://my.oschina.net/u/1861789/blog/346622
解决方案 重写hitTest:withEvent: 在他们的子类中
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { static UIEvent *e = nil; if (e != nil && e == event) { e = nil; return [super hitTest:point withEvent:event]; } e = event; if (event.type == UIEventTypeTouches) { NSSet *touches = [event touchesForView:self]; UITouch *touch = [touches anyObject]; if (touch.phase == UITouchPhaseBegan) { NSLog(@"Touches began"); }else if(touch.phase == UITouchPhaseEnded){ NSLog(@"Touches Ended"); }else if(touch.phase == UITouchPhaseCancelled){ NSLog(@"Touches Cancelled"); }else if (touch.phase == UITouchPhaseMoved){ NSLog(@"Touches Moved"); } } return [super hitTest:point withEvent:event]; }
关于hitTest:withEvent:
字面意思是撞击测试,当手指触摸到当前屏幕上活跃的 app 界面。ios 系统会将 当前触摸操作 打包,具体就是UIEvent
屏幕上的每一次动作都是一个UITouch,多个UITouch 组成一次UIEvent. UIEvent 表示一次事件。
传递给当前活跃的App keyWindow.正常情况下 hitTest 确定屏幕上众多View 中哪一发生了事件。
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
返回值 不为nil 则一值 查找view 的子view 重复调用hisTest 确定事件。
这边还有别人给的一些方法:
重写touch方法http://blog.csdn.net/aaidong/article/details/45914435
添加手势识别器:http://my.oschina.net/u/1861789/blog/346622
相关文章推荐
- UITableView的部分自定义设置以及iOS11下间距问题的处理方式
- UITableView/UIScrollView 不能响应TouchBegin 的处理 及窥见 hitTest:withEvent:
- iOS UITableView:section的Header以及Footer不悬浮停留在屏幕的方法(非在scrollView代理实现的方法)
- UITableView/UIScrollView 不能响应TouchBegin 的处理 及窥见 hitTest:withEvent:
- UITableView中添加UIButton按钮处理
- URL传参中不能带特殊的字符以及处理方案
- UIScrollView的作用原理,实现scrollView中touch事件作用子视图
- ScrollView以及TextView和对应链接
- TextView不能响应setOnTouchListener ACTION_DOWN的解决方法
- ViewModel中C# Property自动添加OnPropertyChanged处理的小工具, 以及相应Python知识点
- UIScrollView的作用原理,实现scrollView中touch事件作用子视图
- 关于“Only the original thread that created a view hierarchy can touch its views.”异常的处理
- UITableView处理键盘遮挡
- ios开发 UITableView with xib 以及自定义TableViewCell
- ViewModel中C# Property自动添加OnPropertyChanged处理的小工具, 以及相应Python知识点
- UITableView中设置section内行数以及配置cell的方法
- 处理大View和小view的Touch
- __BEGIN__; __END__是opencv中的一种错误处理机制,它可以防止非法的内存释放,以及内存泄露
- 解决“同个UIView里面有多个UITableView的时候不能点击状态栏回到顶部”问题
- android 在ViewGroup中处理触摸事件 [Managing Touch Events in a ViewGroup]