Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 潘手势赢得';t向前触摸地图框MGLMapView_Ios_Swift_Mapbox_Uipangesturerecognizer - Fatal编程技术网

Ios 潘手势赢得';t向前触摸地图框MGLMapView

Ios 潘手势赢得';t向前触摸地图框MGLMapView,ios,swift,mapbox,uipangesturerecognizer,Ios,Swift,Mapbox,Uipangesturerecognizer,我试图通过Mapbox iOS SDK中的MGLMapView实现一些非常基本的功能。我渲染了一个启用滚动的MGLMapView,这样就可以在平移手势上移动视图;我想检测视图是否已移动,因此我将平移手势识别器附加到此视图 请注意,正如您在下面的屏幕截图上所看到的,我正在使用interface builder来实现这一点 我将手势识别器链接到一个iAction,当人们试图在地图上移动视图时,它确实会被触发。但是,视图不会移动,即触摸事件不再转发到MGLMapView。当然,我没有选中我的平移手势

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

请注意,正如您在下面的屏幕截图上所看到的,我正在使用interface builder来实现这一点

我将手势识别器链接到一个iAction,当人们试图在地图上移动视图时,它确实会被触发。但是,视图不会移动,即触摸事件不再转发到MGLMapView。当然,我没有选中我的平移手势识别器的“取消视图中的触摸”选项。为了确保这一点,我还将平移手势识别器链接到了代码中的iBooblet,这样我可以将其成员cancelsTouchesInView设置为false,但它不会改变任何内容

我尝试以类似的方式添加点击手势识别器(2次触摸),效果良好,即触发相关iAction,并将触摸转发到地图视图(双击时地图视图会放大)

我在平移手势识别器中错过了什么


非常感谢您的帮助。

因此我使用了不同的方法来实现我想要的目标:我没有将新的平移手势识别器附加到地图视图,而是将新的目标附加到现有的平移手势识别器

for gestureRecognizer in self.mapView.gestureRecognizers! {
    if let _ = gestureRecognizer as? UIPanGestureRecognizer {
        gestureRecognizer.addTarget(self, action: #selector(self.panOnMap))
        break
    }
}
然后调用默认平移和我的方法panOnMap

我仍然不完全满意这个解决方案,因为它看起来更像一个黑客。此外,我注意到它们是两个附在地图视图上的平移手势识别器,我不确定应该瞄准哪一个