objective-c – 除了双击UITextView之外的前向触摸
我有一个UITextView,我有多个UIView. UIView上的任何触摸操作都可以与相应的IBAction相关联.在我的场景中,需要将双击手势与UIView的IBAction相关联,除此之外的任何其他触摸都需要转发到底层的UITextView.
我执行上述场景的代码块 UITextView *textView = [[UITextView alloc] init]; UIView *subview = [[UIView alloc] init]; UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected:)]; doubleTap.numberOfTapsRequired = 2; [subview addGestureRecognizer:doubleTap]; [textView addSubview: subview]; 我尝试了以下SO解决方案, How to ignore touch events and pass them to another subview’s UIControl objects? 使用hitTest我无法捕获UITextView顶部的UIViews中的双击手势 Make UIGestureRecognizer to receive touches started on subviews 转发UITouch设置从touchBegan:withEvent:在UIView中转到UITextView没有给出UITextView的预期默认行为 是否有其他解决方案可用于解决此问题? 提前致谢. 解决方法
这可以通过以下方式完成:
>让UITextView按照How to ignore touch events and pass them to another subview’s UIControl objects?中的建议处理触摸事件>在UIView的hitTest中保存对其发生的视图的引用,以便以后可以使用它>添加自定义双击手势识别器,检查hitTest引用是否为空,表示双击发生在目标视图上并将事件转发到该视图.如果没有,则手势识别器失败.要使手势识别器失败,您需要包含UIKit / UIGestureRecognizerSubclass.h并将state属性设置为UIGestureRecognizerStateFailed>将手势识别器添加到UITextView>扩展UITextView以覆盖gestureRecognizers getter并遍历手势识别器以要求自定义手势失败.这必须在getter中完成,因为手势识别器似乎经常被重置 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Newtonsoft.Json取json字符串中的值得用法
- 在Xcode 8中提供Thread Sanitizer和Address Sanitizer选项需
- 关于xml学习(二)——xml的约束之DTD
- 正则表达式
- actionscript-3 – URLRequest多个SWF链接无法正常工作
- c# – StackExchange.Redis – 是否可以确定端点的优先级?
- release版本的exe依赖msvcrt100d.dl LINK : warning LNK409
- 详解c#读取XML的实例代码
- uploadify(或swfupload)刷新页面时IE下不断报JS Error的b
- 循环不变量(特别是“加速C”的第3章)