2

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

想象一下 MobileSafari 的标签视图,但通过向下滑动来关闭标签。

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

使这项工作完美的最佳实践是什么,例如“如果您垂直滑动,停止水平滑动,如果您水平滑动,停止垂直滑动”。

谢谢!

这是我想要的说明:

扫一扫

4

2 回答 2

6

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

于 2013-02-22T21:57:23.530 回答
2

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

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

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

于 2013-02-22T23:15:10.340 回答