【问题标题】:Debugging touchesEnded NOT being called when swiping in 1 direction only调试 touchesEnded 仅在 1 个方向滑动时不会被调用
【发布时间】:2010-06-28 12:22:22
【问题描述】:

在为我的应用程序调试一个简单的滑动动作时完全被难住了。当我向左滑动时,我正确地得到了一个 touchesEnded 消息方法调用。

但是,如果我往另一个方向拖动,touchesEnded 不会被调用。

有人知道为什么会这样吗? 我使用 TapDetectingView 作为我的 viewController 类的视图。并且在 IB 中为这个视图启用了用户吸引和多点触控。

【问题讨论】:

    标签: objective-c touch uitouch


    【解决方案1】:

    我也遇到了一些问题,在单个视图上使用 GestureRecognizers 和 touchesEnded。 我的问题是,我只能在使用 GestureRecognizers 时检测到滑动或触摸。 我最终做的是使用 SwipeGestureRecognizers 来检测滑动和用于 Taps 的 touchesEnded 方法。 在同一个视图上使用 TapGestureRecognizers 和 SwipeGestureRecognizers 不起作用。

    【讨论】:

    • 我不能使用新的 GestureRecognizer 方法,因为我需要计算实际滑动的速度。
    • 好的,很抱歉我无法通过阅读您的帖子了解您的意图。
    【解决方案2】:

    如果您尝试在滑动手势上捕获touchesEnded,请尝试检查touchesCancelled。我通过touchesCancelled 处理我的滑动端,然后从该方法中调用touchesEnded。出于某种原因,touchesEnded 只能通过单击和长按而不是滑动来调用。好消息是您获得了用于计算加速度的时间戳和坐标。

    【讨论】:

    • touchesCancelled 在系统取消触摸时被调用,例如当有电话进来时。touchesEnded 肯定会被称为滑动。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多