旋转变化时显示注释

showAnnotations when rotation changes

我有一个 SplitViewController 有一个地图视图作为 detailViewController。

我向地图视图添加了多个注释。添加它们后,我调用 showAnnotations:animated: 方法缩放 in/out 地图,以便所有注释都显示在地图的可见部分。

mapView.showAnnotations(mapView.annotations, animated: true)

现在我需要地图在方向改变时重新聚焦,因为当您将 iPad 变为纵向时,地图视图的可见区域会减少。因此,我在 viewWillTransitionToSize:withTransitionCoordinator: 方法中调用相同的 showAnnotations:animated: 方法,该方法在方向改变时触发。但它并没有像预期的那样工作。

override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
    mapView.showAnnotations(mapView.annotations, animated: true)
}

如何在方向改变时重新聚焦?

Demo project

viewDidLayoutSubviews 方法中调用 showAnnotations 非常有效。

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    mapView.showAnnotations(mapView.annotations, animated: true)
}