gpt4 book ai didi

ios - 平移手势不会将触摸转发到 Mapbox MGLMapView

转载 作者:可可西里 更新时间:2023-11-01 02:16:09 27 4
gpt4 key购买 nike

我正在尝试使用 Mapbox iOS SDK 中的 MGLMapView 实现一些非常基本的功能。我渲染了一个启用了滚动的 MGLMapView,这样就可以在平移手势上移动 View ;我想检测 View 是否已移动,因此我将平移手势识别器附加到该 View 。

请注意,我正在使用界面构建器来执行此操作,如您在下面的屏幕截图中所见。

interface builder screenshot

我将手势识别器链接到一个 IBAction,它确实会在任何时候试图在 map 上移动 View 时触发。但是, View 没有移动,即触摸事件不再转发到 MGLMapView。当然,我取消选中了平移手势识别器的“取消触摸”选项。为了确保我还在我的代码中将平移手势识别器链接到 IBOublet,所以我可以将其成员 cancelsTouchesInView 设置为 false,但它不会改变任何东西。

我尝试以类似的方式添加点击手势识别器(2 次触摸)并且它工作正常,即触发关联的 IBAction 并将触摸转发到 map View ( map View 在双击时放大)。

我在这里错过了平移手势识别器的什么?

非常感谢您的帮助。

最佳答案

所以我使用了一种不同的方法来实现我想要的:我没有将新的平移手势识别器附加到 map View ,而是将新的目标附加到现有的平移手势识别器。

for gestureRecognizer in self.mapView.gestureRecognizers! {
if let _ = gestureRecognizer as? UIPanGestureRecognizer {
gestureRecognizer.addTarget(self, action: #selector(self.panOnMap))
break
}
}

然后调用默认平移和我的方法 panOnMap。

我对这个解决方案仍然不完全满意,因为它看起来更像是 hack。此外,我注意到它们是附加到 map View 的两个平移手势识别器,我不确定我应该定位哪一个。

关于ios - 平移手势不会将触摸转发到 Mapbox MGLMapView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38450999/

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