【问题标题】:UITapGestureRecognizer interefering with UIPinchGestureRecognizerUITapGestureRecognizer 干扰 UIPinchGestureRecognizer
【发布时间】:2012-02-22 06:07:20
【问题描述】:

我有一个视图控制器,它将UITapGestureRecognizer 附加到其主UIView,并允许用户点击屏幕以使状态、导航和工具栏重新出现/消失(如照片应用程序)。我还有一个UIScrollView 附加到主要的UIView,它实现了缩放,因此有自己的UIPinchGestureRecognizerUIPanGestureRecognizer 来实现滚动和缩放。

我遇到的问题是,当要缩放/滚动UIScrollView 时,拾取附加到主UIViewUITapGestureRecognizer 非常敏感。似乎很多时候UITapGestureRecognizer 在不应该被触发的时候被触发。任何人对如何为低于 5.0 的 ios 版本解决此问题有任何想法吗?有什么方法可以覆盖UIScrollViewUIGestureRecognizerDelegate 的同时手势委托方法,并防止UITapGestureRecognizer 在其他手势期间触发?

【问题讨论】:

    标签: iphone objective-c ios cocoa-touch uigesturerecognizer


    【解决方案1】:

    使用requireGestureRecognizerToFail: 方法。

    [tapGestureRecognizer requireGestureRecognizerToFail:pinchGestureRecognizer];
    

    此调用告诉点击识别器等待捏合识别器失败。

    【讨论】:

    • 谢谢。几个问题 1) ios5之前是否可以获取UIScrollView pinchgesturerecognizer? 2) 我需要在哪里打这个电话,打多少次?是否有可能我也可以要求它为 UIPanGestureRecognizer 失败?
    • 我离开了我的电脑,并且会离开一段时间。所有 UIView 都有一个数组属性 gestureRecognizers,您可以使用它访问它们的识别器。失败的要求只需要调用一次。当我有机会时,我会检查更多细节。
    • 我曾预计这会起作用,并在我自己的应用程序中尝试过。不幸的是没有为我解决问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    • 2012-07-17
    • 2019-06-17
    • 2015-02-12
    • 2011-04-02
    • 2020-04-01
    • 2017-08-27
    相关资源
    最近更新 更多