iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 通过GMSMapView拦截UIView上的内容大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将uIView覆盖在谷歌GMsmapView上.目标是拦截滑动以便知道何时手动移动地图. (我知道我可以检查-mapView:willMove:但无论地图是以编程方式移动还是由于手动触摸,都会调用它.我正在以编程方式重新定位地图作为位置更新 – 因为谷歌没有像苹果那样为你做这件事.就像每个地图程序一样,我想在用户手动移动地图时立即停止当前位置.我可以想到捕捉这种情况的唯一方法(没有切换到mapkit或等待谷歌添加到API)是捕获滑动,因为它越过地图上的视图.

为了澄清,我的问题是如何在谷歌地图上放置一个视图,使其响应滑动并仍然允许该事件传递到GMsmapView?

我的map和interceptView都是主视图的兄弟孩子. interceptView有一个gestureRecognizer,设置为opaque,not hidden和userInteractionEnabled = YEs.因此,interceptView可以很好地接收触摸事件.但是下面的地图不会移动.如果我设置interceptView.userInteractionEnabled = NO,地图工作正常.

通过覆盖touchesBegan并调用GMsmapView的touchesBegan“传递触摸”没有做任何事情.并且重写hitTest似乎不是一个选项,因为我无法继承GMsmapView.有没有人这样做过?我知道这里有很多关于传递特定事件的内容.我想在两个视图上处理特定事件,其中一个是Google的地图图层,我无修改代码.

解决方法

mapView:willMove:接收一个bool“手势”,如果移动是由用户手势触发的,则为true,如果不是,则为false.因此,只有“手势”为真,您才能停止重新定位地图.这样,您可以确保手动移动地图.

大佬总结

以上是大佬教程为你收集整理的ios – 通过GMSMapView拦截UIView上的内容全部内容,希望文章能够帮你解决ios – 通过GMSMapView拦截UIView上的内容所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。