有关此问题的示例,请访问https://github.com/SRowley90/MKMapSnapshotterExample
我有一个问题,需要在表格单元格内显示地图快照。我在UIStackView的一个包含视图内有一个固定高度的图像视图,因此与间距相比,我可以拥有更大的边距(尽管这与问题不相关)。
我的问题是,MKSnapshotter要求在确定单元格的宽度之前确定视图的大小。在单元格上调用setup()
方法,该单元格以当时具有的大小创建MKSnapshotter.Options
,该大小直接来自单元格的nib文件。
let options = MKMapSnapshotter.Options()
options.region = MKCoordinateRegion(center: centerCoordinate, latitudinalMeters: distanceInMeters, longitudinalMeters: distanceInMeters)
options.size = self.mapSnapshotImageView.bounds.size
MKSnapshotter获取图像并将其设置在UIImageView中,然后该单元根据Autolayout属性对视图进行布局,因此,带回的图像不再是该视图的正确尺寸。在该示例中,我在缓存此图像方面做得很差,因此我可以更好地演示。
我需要调回图像以使用显示它的ImageView的整个宽度,但是我不确定该怎么做。