GMSMapView 防止 UITableView 滚动

GMSMapView Prevents UITableView from Scrolling

我在 SWTableViewCell 中有一个 GMSMapView,我禁用了滚动,但显然它没有继承 table/cell 的滚动(或其他手势)。滚动和滑动单元格适用于单元格的所有其他部分,但不适用于 GMSMapView。

GMSMapView *map = [GMSMapView mapWithFrame: CGRectMake(0, 0, self.view.bounds.size.width, cell.mapView.bounds.size.height) camera:camera]; 

map.settings.compassButton = NO;
map.settings.myLocationButton = NO;
map.myLocationEnabled = NO;
map.settings.scrollGestures = NO;
map.settings.zoomGestures = YES;

[cell.mapView addSubview:map];

如何在地图上继承table的滚动和滑动手势?

不要在 table 视图上使用实时地图视图,它会在每次滚动使用地图快照时重新加载地图,这将创建一个图像并将其存储在缓存中,这样它就不会创建图像每次都可以在图像视图上显示图像。关于如何拍摄地图视图的快照,您可以使用此 link

就用这个方法

googlemap.settings.setAllGesturesEnabled(false)

我认为通过禁用滚动和在视图中使用手势可以解决问题,而不是禁用所有手势。

mapView.settings.scrollGestures = false
mapView.settings.consumesGesturesInView = false