当我尝试拍摄包含RMMapView
实例的UIView
的屏幕截图时,生成的图像将RMMapView
显示为默认瓦片。takeSnapshot
和takeSnapshotAnIncludeOverlay:(BOOL)overlay
中的构建是不够的,因为我需要包括其他子视图。MapBox的开发人员有什么建议吗?谢谢
好吧,所以我想出了一个"破解"的方法来做到这一点,但希望mapbox开发人员能够在这里揭示核心问题:包含RMMapView
的视图的屏幕截图不起作用。
解决方法如下:
- 创建一个伪
UIView
并向其添加另一伪UIView
、dummy2 - 创建尽可能多的
UIImageView
,以便对主视图中可见的不同子视图进行屏幕截图 - 创建一个
UIImageView
来拍摄地图框地图的屏幕截图,并模糊集图像来隐藏他们的SDK添加的细线 - 将所有的
UIImageView
添加到dummy2,将dummy1添加到dumpy1 - 将dummy1设置为隐藏,然后添加到主视图中
- 截取dummy2的屏幕截图,并将dummy1从视图中删除以解除分配
这就是地图和其他子视图的UIImage
。可笑的变通方法?绝对地