MKMapView 告诉地图用填充显示 MKAnnotations?
MKMapView tell map to show MKAnnotations with padding?
所以我正在使用这个电话:
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)
实现这个的正确方法是什么?
好的,所以列为可能是重复的原因的答案确实包含我正在寻找的信息,但不是它的官方答案。这个答案对我不起作用。填充已关闭,看起来很奇怪。它也比我发现扫描整个 post 的单行解决方案更复杂。所以,如果这将被认为是我无法控制的重复,但我会 post 在这里实际对我有用的答案这不是 post.
的公认答案
对我有用的是超级简单的一行代码:
mapView.layoutMargins = UIEdgeInsetsMake(0, 100, 0, 60)
所以这让我可以像往常一样使用地图,并让地图自动处理所有关于合并设置的布局逻辑,所以我在地图上的左视图下没有放置注释。
所以我正在使用这个电话:
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)
实现这个的正确方法是什么?
好的,所以列为可能是重复的原因的答案确实包含我正在寻找的信息,但不是它的官方答案。这个答案对我不起作用。填充已关闭,看起来很奇怪。它也比我发现扫描整个 post 的单行解决方案更复杂。所以,如果这将被认为是我无法控制的重复,但我会 post 在这里实际对我有用的答案这不是 post.
的公认答案对我有用的是超级简单的一行代码:
mapView.layoutMargins = UIEdgeInsetsMake(0, 100, 0, 60)
所以这让我可以像往常一样使用地图,并让地图自动处理所有关于合并设置的布局逻辑,所以我在地图上的左视图下没有放置注释。