【问题标题】:generate or forward a touch event to a view?生成或转发触摸事件到视图?
【发布时间】:2012-07-04 14:03:54
【问题描述】:

我有一个带有 tap_gestureRecognizer 的视图。
这可能听起来很傻,但是当识别到点击时,我想将该触摸转发到与识别器关联的视图,并最终转发到视图的子视图。

我应该首先解释为什么我有识别器。
它可以抓取由于滚动视图而无法捕获的触摸。
WWDC 2012 scroll view session 简要提及它。

(滚动视图阻止触摸到它后面的视图,但如果后面的视图有手势识别器,它可以识别触摸)

【问题讨论】:

    标签: iphone ios uiscrollview uigesturerecognizer


    【解决方案1】:

    是的,UIGestureRecognizers 有一个属性 cancelsTouchesInView 正是这样做的。默认值为 YES,这会阻止将触摸传递到视图。通过将其设置为 NO,手势识别器和视图都将接收所有触摸。

    gestureRecognizer.cancelsTouchesInView = NO;
    

    来自 Apple 的文档:

    如果手势识别器无法识别其手势,或者此属性的值为 NO,则视图将接收多点触控序列中的所有触摸。

    【讨论】:

    • 感谢您的回答,我会尽快尝试,我怀疑“多点触控序列”意味着 tap_gesture 在这里不相关,因为它是单点触控序列。
    • 我已经准备好代码,具有识别器的视图没有收到触摸。(touchesBegan 没有被调用)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    相关资源
    最近更新 更多