MKMapView告诉地图用填充显示MKAnnotations?

zum*_*zum 3 mkmapview ios swift

所以我正在使用这个电话:

mapView.showAnnotations(annotations, animated: true)
Run Code Online (Sandbox Code Playgroud)

动画应用程序以显示注释.这很好用.我需要的是告诉Map在我调用时通常缩放到区域左侧添加100像素的填充:

mapView.showAnnotations(annotations, animated: true)
Run Code Online (Sandbox Code Playgroud)

我有一个关于屏幕左侧地图的视图,我不希望注释出现在下面,所以,我想在它们的左边添加填充,这样它们就不会被视图隐藏.

我尝试了MKMapView调用"setRegion"并且:

mapView.setVisibleMapRect(mapRect, edgePadding: UIEdgeInsetsMake(20, 100, 20, 20), animated: true)
Run Code Online (Sandbox Code Playgroud)

但是,它并没有真正起作用,特别是当我尝试结合:

mapView.showAnnotations(annotations, animated: true)
Run Code Online (Sandbox Code Playgroud)

和:

mapView.setVisibleMapRect(mapRect, edgePadding: UIEdgeInsetsMake(20, 100, 20, 20), animated: true)
Run Code Online (Sandbox Code Playgroud)

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

zum*_*zum 6

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

对我有用的是超简单的一行代码:

mapView.layoutMargins = UIEdgeInsetsMake(0, 100, 0, 60)
Run Code Online (Sandbox Code Playgroud)

所以这允许我像往常一样使用地图并让地图自动处理所有关于合并设置的布局逻辑,因此没有注释放在我在地图上的左视图下.