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

时间:2017-09-14 22:08:27

标签: ios swift mkmapview

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

mapView.showAnnotations(annotations, animated: true)

为应用设置动画以显示注释。这很好用。我需要的是告诉地图在我打电话时通常缩放的区域左侧添加100像素的填充:

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

我查看了屏幕左侧的地图,我不希望注释出现在下面,所以,我想在它们的左边添加填充,这样它们就不会被视图隐藏了。

我尝试了MKMapView调用“setRegion”和:

mapView.showAnnotations(annotations, animated: true)

但是,当我尝试合并:

时,它并没有真正起作用
mapView.setVisibleMapRect(mapRect, edgePadding: UIEdgeInsetsMake(20, 100, 20, 20), animated: true)

Sub Merge()
With Worksheets("Sheet2")
Dim bookList As Workbook
Dim MergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object
Dim sCURFolderPath As String
Dim sHostFolder As String
Application.ScreenUpdating = False

Set MergeObj = CreateObject("Scripting.FileSystemObject")

'change folder path of excel files here
sCURFolderPath = Application.ActiveWorkbook.Path       ' Current directory folder
sHostFolder = sCURFolderPath & "\First Month"                 

Set dirObj = MergeObj.GetFolder(sHostFolder)
Set filesObj = dirObj.Files
For Each everyObj In filesObj
Set bookList = Workbooks.Open(everyObj)

Range("A2:Z" & Range("A65536").End(xlUp).Row).Copy
ThisWorkbook.Worksheets("Sheet2").Activate
Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial
Application.CutCopyMode = False
bookList.Close
Next

End With
End Sub

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

1 个答案:

答案 0 :(得分:6)

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

对我来说最有效的是一行代码:

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

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