我已经和 UIScrollView 斗争了一段时间了。我有一个滚动视图,其中包含多个“卡片”样式视图。我希望卡片垂直移动,就像上下滑动一样。
想象一下 MobileSafari 的标签视图,但通过向下滑动来关闭标签。
如果不与滚动视图水平平移发生冲突,我无法弄清楚如何做到这一点。我要么让他们都平移,要么只平移一次(垂直/水平)。
使这项工作完美的最佳实践是什么,例如“如果您垂直滑动,停止水平滑动,如果您水平滑动,停止垂直滑动”。
谢谢!
这是我想要的说明:
我已经和 UIScrollView 斗争了一段时间了。我有一个滚动视图,其中包含多个“卡片”样式视图。我希望卡片垂直移动,就像上下滑动一样。
想象一下 MobileSafari 的标签视图,但通过向下滑动来关闭标签。
如果不与滚动视图水平平移发生冲突,我无法弄清楚如何做到这一点。我要么让他们都平移,要么只平移一次(垂直/水平)。
使这项工作完美的最佳实践是什么,例如“如果您垂直滑动,停止水平滑动,如果您水平滑动,停止垂直滑动”。
谢谢!
这是我想要的说明:
滚动视图有它自己的手势识别器:查看它的panGestureRecognizer
属性。如果您添加自己的识别器来检测垂直滑动,您可以使用requireGestureRecognizerToFail:
或委托方法来管理两个识别器之间的依赖关系。
我真的对您的应用程序的预期行为感到困惑。您可以互换使用滑动和平移,但它们是不同的手势识别器。
区分的一种方法是比较translationInView:
手势方法的 x 和 y 值。如果 y > x,你有一个垂直滑动/平移;x > y 你有一个水平滑动/平移。
如果检测到的滑动/平移不是您正在寻找的类型,则使该手势识别器失败。