【问题标题】:UIPanGestureRecognizer with UIScrollView带有 UIScrollView 的 UIPanGestureRecognizer
【发布时间】:2013-02-22 21:38:02
【问题描述】:

我已经和 UIScrollView 斗争了一段时间了。 我有一个滚动视图,其中有多个“卡片”样式视图。我希望卡片垂直移动,就像上下滑动一样。

想象一下 MobileSafari 的标签视图,但要向下滑动以关闭标签。

如果不与滚动视图水平平移发生冲突,我无法弄清楚如何做到这一点。 我要么让它们都平移,要么只平移一次(垂直/水平)。

使这项工作完美运行的最佳做法是什么,例如“如果您正在垂直滑动,请停止水平滑动,如果您正在水平滑动,请停止垂直滑动”。

谢谢!

这是我想要的插图:

【问题讨论】:

    标签: ios objective-c uikit


    【解决方案1】:

    滚动视图有它自己的手势识别器:参见它的panGestureRecognizer 属性。如果您添加自己的识别器来检测垂直滑动,您可以使用requireGestureRecognizerToFail:delegate methods 来管理两个识别器之间的依赖关系。

    【讨论】:

      【解决方案2】:

      我对您的应用程序在此处的预期行为感到非常困惑。您可以互换使用滑动和平移,但它们是不同的手势识别器。

      区分的一种方法是比较手势的translationInView: 方法的x 和y 值。如果 y > x,你有一个垂直滑动/平移; x > y 并且你有一个水平滑动/平移。

      如果检测到的滑动/平移不是您要查找的类型,则使手势识别器失败。

      【讨论】:

        猜你喜欢
        • 2013-05-01
        • 2014-03-14
        • 1970-01-01
        • 1970-01-01
        • 2017-05-17
        • 2018-11-09
        • 2018-06-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多