【发布时间】:2016-04-30 10:56:14
【问题描述】:
在这个视图控制器中,我有一个导航栏、一个 mkmapview 和一个集合视图。我有以下代码:
import UIKit
import MapKit
class PhotoAlbumViewController: UIViewController {
var annotation: VTAnnotation!
var span: MKCoordinateSpan!
@IBOutlet weak var mapView: MKMapView!
@IBOutlet weak var collectionView: UICollectionView!
override func viewDidLoad() {
navigationController?.navigationBarHidden = false
mapView.clipsToBounds = false
mapView.addAnnotation(annotation)
mapView.userInteractionEnabled = false
let region = MKCoordinateRegion(center: annotation.coordinate, span: span)
mapView.setRegion(region, animated: false)
}
}
如果我的 MKMapView 设置为位于导航栏和 Storyboard 中的集合视图之间,则图钉将根据需要居中。但我没有显示导航栏的半透明性。
如果我的 MKMapView 设置为位于导航栏下方,我可以显示导航栏的半透明,但图钉现在偏离中心。
如何使图钉显示在可见区域的中心,并显示导航栏的半透明性?
我觉得这应该在文档中。但我一直在寻找没有运气,也许我不知道要搜索的关键字。
【问题讨论】:
-
mapview 被布局后,你应该认为它是新的可见部分。尝试在“viewDidLayoutSubviews”之后更改地图区域。
-
在 mapkit 中,有一些方法可以计算视图中某个点的坐标,反之亦然 - 这是通过它的方法。不幸的是,我现在没有机会玩代码。如果你没有把你的注释放到正确的地方 - 戳我回来 - 我们会尝试移动它:)
标签: ios swift uiview storyboard swift2