2017-09-14 62 views
1

所以我用这个电话:MKMapView告诉地图使用填充显示MKAnnotations?

mapView.showAnnotations(annotations, animated: true) 

动画该应用显示注释。这很好。我需要在此基础之上,是告诉地图填充100个像素添加到其正常放大区域的左侧,当我打电话:

mapView.showAnnotations(annotations, animated: true) 

我有一个观点在地图上屏幕的左侧,我不希望注释出现在下面,所以,我想添加填充到它们的左侧,以便它们不被视图隐藏。

我试过的MKMapView称之为 “setRegion” 和:

mapView.setVisibleMapRect(mapRect, edgePadding: UIEdgeInsetsMake(20, 100, 20, 20), animated: true) 

,但它不是真正特别的工作时,我尝试了结合:

mapView.showAnnotations(annotations, animated: true) 

和:

mapView.setVisibleMapRect(mapRect, edgePadding: UIEdgeInsetsMake(20, 100, 20, 20), animated: true) 

实现此目标的正确方法是什么?

+0

你需要填充总是或只有当你显示你的注释? –

+0

可能重复[iOS-​​MKMapView showAnnotations:animated:with padding?](https://stackoverflow.com/questions/21912339/ios-mkmapview-showannotationsanimated-with-padding) – nathan

+0

@ReinierMelian我大部分时间都需要它。为什么? – zumzum

回答

2

好吧,所以列出的答案是为什么这可能是一个可能的dup确实有我正在寻找的信息,但不是它的官方答案。这个答案对我不起作用。填充关闭,看起来很奇怪。这也比我发现扫描整篇文章的一行解决方案更为复杂....因此,如果这将被视为一种无法控制的重复,但我会在这里发布实际为我工作的答案。不是该帖子的接受答案。

什么工作对我来说是代码超级简单的一行:

mapView.layoutMargins = UIEdgeInsetsMake(0, 100, 0, 60) 

所以这让我再使用地图和往常一样,并有地图自动处理所有的布局逻辑尊重合并设置,所以没有注释放在我对地图的左侧视图下。