Ios 更新MKMapView约束,但将注释保留在屏幕上的相同位置

Ios 更新MKMapView约束,但将注释保留在屏幕上的相同位置,ios,swift,Ios,Swift,我有一个mkmapview,上面有注释。我想调整地图视图的大小(通过将其高度约束的常量从200更改为400),但我根本不想移动地图的中心坐标 当前,调整地图大小时,中心坐标会移动,使其保持在地图中心(如果地图高度从200到400,则从(x100)到(x200)) 似乎唯一的解决方案是执行如下代码: var coordinate = self.mapView.centerCoordinate coordinate.latitude += self.mapView.region.span.latit

我有一个mkmapview,上面有注释。我想调整地图视图的大小(通过将其高度约束的常量从200更改为400),但我根本不想移动地图的中心坐标

当前,调整地图大小时,中心坐标会移动,使其保持在地图中心(如果地图高度从200到400,则从(x100)到(x200))

似乎唯一的解决方案是执行如下代码:

var coordinate = self.mapView.centerCoordinate
coordinate.latitude += self.mapView.region.span.latitudeDelta * 0.25;
self.mapView.setCenterCoordinate(coordinate, animated: true)
这确实有效,但我遇到的问题主要是动画。我还希望以动画方式更新约束:

mapHeightConstraint.constant = 400
UIView.animateWithDuration(0.35) {
    self.view.layoutIfNeeded()
}
这将导致贴图不会设置动画,无论是在调整中心之前还是之后设置约束动画


我希望两个动画同时出现,并花费相同的时间或找到另一个解决方案。

你有没有找到这个@maxhud的解决方案?