gpt4 book ai didi

uiscrollview - 将 UIScreenEdgePanGestureRecognizer 用于 UIScrollView

转载 作者:行者123 更新时间:2023-12-01 10:47:19 30 4
gpt4 key购买 nike

我需要一个分页的 UIScrollView,它以 UIScreenEdgePanGestureRecognizer 的方式检测屏幕边缘的平移,而不是像 UIPanGestureRecognizer 那样检测任何地方的平移。

我可以从 scrollView 获取 [scrollView panGestureRecogniser] 实例,但我不能将它换成 UIScreenEdgePanGestureRecognizer 的实例。

也无法将 [[scrollView panGestureRecogniser] delegate] 更改为我控制下可以停止滚动手势的对象,除非它们从边缘开始,因为 UIScrollView不允许您更改它的 UIGestureReconiser 的委托(delegate)。

最佳答案

事实证明,使用我已经熟悉的技术实现这种效果比我预期的要容易。

如问题中所述,您可以使用 [myScrollView panGestureRecogniser] 访问 ScrollView 的平移手势识别器。虽然您无法更改此手势识别器的委托(delegate),但您可以更改它用于启动手势的 View – 它不必是 ScrollView 实例本身。

[edgePanGestureHolder addGestureRecognizer: [scrollView panGestureRecognizer]];

edgePanGestureHolder 只是一个从边延伸到边并保存 ScrollView 的手势识别器的 View 。

edgePanGestureHolder 之上放置另一个 View innerPanPreventioninnerPanPrevention 不应一直延伸到屏幕边缘。

通过此设置,从边缘开始的平移将在 edgePanGestureHolder 中找到 ScrollView 的手势识别器。从 View 中间开始的潜在平移将在 innerPanPrevention 中寻找手势识别器,但不会找到手势识别器,从而阻止 ScrollView 平移。

在我的例子中,我还将 UIGestureRecogniser 添加到 innerPanPrevention。这些驱动其他 ScrollView 。从屏幕边缘开始的平移驱动一个 ScrollView ,从屏幕内部开始的平移驱动另一个。

关于uiscrollview - 将 UIScreenEdgePanGestureRecognizer 用于 UIScrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24385901/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com