- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个 View A
和B
。 B
是A
的 subview 。我想监控 A
中的双击操作,在本例中,我会将 B
移动到点击位置。
现在,我想将这部分代码放在 B
中,这样可以避免在 A
中编码。
所以我在B
中添加了双击手势识别器,并且我覆盖了B
中的-pointInside:withEvent:
,所以它可以对 B
框架之外的双击操作使用react。
但是,我仍然希望其他手势(包括单击)在 A
上工作,因此我想出了两种不同的方法来实现此目的:
pointInside:
内部,对于单击,返回NO
,对于双击∫,返回YES
,但是,似乎有没办法做到这一点。pointInside:
始终返回 YES,并捕获单击和双击手势。对于单击手势,发送给A处理,但是目前还没有找到方法。谁能帮我解决这个问题?或者告诉我是否看错了方向?
最佳答案
这种方法可以工作,但是非常困惑,仅仅是因为,pointInside:withEvent:
是一个非常原始的调用。
当您双击 View 时,您将收到多个 hitTest:withEvent:
方法调用(依次调用 pointInisde:withEvent:
),这意味着您必须做一些艰苦的工作,使用时间偏移来测量先后发生的两次点击。
它接到了多少个电话?只要您的手指在屏幕上停留的每一毫秒,此方法就会受到方法调用的地毯式轰炸。为了您想要做的事情而重载它是不明智的。
简单地说,手势识别器是非常方便的对象,它封装了必须由您自己处理实时 UITouch
的所有复杂性。
作为保持代码相对简洁的解决方案,您可以将 UITapGestureRecognizer
添加到 A
,然后将选择器交给 B
来处理,您甚至可以在界面生成器中或通过代码执行此操作:
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:B action:@selector(handleGesture:)];
tapGesture.numberOfTapsRequired = 2;
[A addGestureRecognizer:tapGesture];
(A
和 B
是您的观点)
关于ios - 使用pointInside :withEvent: for different gestures,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17875558/
我正在使用适用于 iOS 的 Mixare AR SDK,我需要解决一些发生的错误,其中之一是在点击 POI 的 View 时显示 POI 的信息。 前奏: Mixare 在 MarkerView V
虽然大多数苹果文档都写得很好,但我认为'Event Handling Guide for iOS ' 是一个异常(exception)。我很难清楚地理解那里描述的内容。 文件说, In hit-tes
我从 XCode 6.2 升级到 XCode 7.0.1 后收到此错误消息。 /Users/ZERO/Documents/Xcode/XXXXX/Library/SegmentedControl/Se
免责声明 - 我绝不是 VBA 专家;我是一名黑客。 但是,我有一些静态的类模块(使用Attribute VB_PredeclaredId = True) 我也想用它们定义一些自定义事件(Public
免责声明 - 我绝不是 VBA 专家;我是一名黑客。 但是,我有一些静态的类模块(使用Attribute VB_PredeclaredId = True) 我也想用它们定义一些自定义事件(Public
我对 View 触摸有疑问: 我有一个parentView(框架是(0,0,768,1024)),其中包含两个 subview (A和B),A框架(0,0,512,768)带有标签100,B框架(51
touchesBegan: withEvent: / touchesMoved: withEvent: / touchesEnded: withEvent: 等只能被UIView捕获(如有问题请指出
我正在尝试在 VB6 模块中声明一个变量,如下所示: Public WithEvents MyObject As MyClass 帮助文件说 WithEvents只能在类模块中使用。为什么不能用在.b
我正在尝试创建一个类模块,当有人单击我表单中的六十个文本框之一时,它将充当全局处理程序。文本框代表一周的时间卡,显示一周 7 天的上类时间、下类时间、午餐开始、结束、持续时间、每日总小时数等信息。当有
我有一个 UserForm,xForm,它在类模块(假设为 TestClass)中实例化为: 'TestClass Dim Form as New xForm Private WithEvents E
WithEvents Collection - VB.NET 的最佳方法是什么? 您对下面的代码有任何评论(跳过 Nothing 验证)吗? 问题是当我在 For Each block 中获取 Lin
如果我用两根手指点击屏幕太快,touchesBegan被调用,但 touchesEnded不要求其中之一。 我疯狂地用谷歌搜索,这似乎是人们至少从 2010 年以来一直存在的一个严重问题。显然它还没有
我已向按钮添加了一些目标。他们工作得很好。但在我的 imageMoved... 方法中,如何确定两个事件中哪一个触发了它?这是我添加目标的位置: [button addTarget:self
我遇到了一个问题,当您触摸屏幕的左边缘。这似乎是 iOS 10 的一个新问题,并且只发生在具有 3D Touch 的设备(iPhone 6s 及更新版本)上。事实上,如果您在常规 -> 辅助功能中禁用
我正在制作一个应用程序,其中有一个背景 View ,并且有六个 UIImageView 作为 subview 。我有一个 UITapGestureRecognizer 来查看何时点击其中一个 UIIm
好吧,我是 Vb.NET 的初学者,虽然我几年前就开始学习然后休息了又开始又休息了。所以,无论如何,我仍然是初学者,我无法理解这个 WithEvents 实际上做了什么以及如何以及何时使用?我正在研究
我正在 Word 中开发一个 VBA 项目,并且在使用实现另一个类的类时遇到了处理事件的问题。 我定义了一个空类,IMyInterface : Public Sub Xyz() End Sub Pub
我收到错误 Handles clause requires a WithEvents variable defined in the containing type or one of its bas
当您单击按钮时,代码应该显示上下文菜单,但是当菜单出现时,它总是显示得比应有的更靠右和更高,而不是在单击的按钮(或鼠标,因为单击时它位于按钮上方)。 - (IBAction)menu:(id)send
问题 当用户触摸一个单元格时,应用程序由于 EXC_BAD_ACCESS 错误而崩溃。这已经使应用程序崩溃了一段时间(可能从 iOS 8、7 甚至 6 开始) 碰撞 崩溃发生在 AQGridView.
我是一名优秀的程序员,十分优秀!