Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 旋转更改时显示注释_Ios_Swift_Mkmapview_Mkannotation_Orientation Changes - Fatal编程技术网

Ios 旋转更改时显示注释

Ios 旋转更改时显示注释,ios,swift,mkmapview,mkannotation,orientation-changes,Ios,Swift,Mkmapview,Mkannotation,Orientation Changes,我有一个SplitViewController,其上有一个地图视图作为detailViewController 我向mapview添加了多个注释。添加它们后,我调用该方法放大/缩小地图,以便所有注释都显示在地图的可见部分 mapView.showAnnotations(mapView.annotations, animated: true) 现在我需要地图在方向改变时重新聚焦,因为当你把iPad转到纵向时,地图视图的可见区域会缩小。因此,我在方法中调用相同的showAnnotations:a

我有一个
SplitViewController
,其上有一个地图视图作为detailViewController

我向mapview添加了多个注释。添加它们后,我调用该方法放大/缩小地图,以便所有注释都显示在地图的可见部分

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

现在我需要地图在方向改变时重新聚焦,因为当你把iPad转到纵向时,地图视图的可见区域会缩小。因此,我在方法中调用相同的
showAnnotations:animated:
方法,该方法在方向改变时激发。但它并没有像预期的那样起作用

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

当方向改变时,我如何使其重新聚焦


viewDidLayoutSubviews
方法中调用
showAnnotations

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

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

当方向更改时,是否确定地图视图正确地更改了其边框(使用自动布局或其他方式)?如果不是,在纵向图中,地图可能会超出屏幕,这使得缩放看起来是错误的。我不会手动调整视图的大小。这一切都是由操作系统自己处理的。是的,但是操作系统按照故事板/xib所说的做:要么遵循设置的自动布局约束,要么自动调整大小,或者大小类,或者使用任何方法。旋转发生后,记录地图视图的帧,并查看其中一些帧是否超出屏幕边界。不要以为操作系统神奇地知道你想要什么。@Anna我用Reveal调试了视图层次结构。否,地图视图的大小调整正确。没有溢出。