Ios 带有MKMapView的Bug';旋转过程中的中心坐标?

Ios 带有MKMapView的Bug';旋转过程中的中心坐标?,ios,ipad,mkmapview,mapkit,screen-rotation,Ios,Ipad,Mkmapview,Mapkit,Screen Rotation,我想我可能在MKMapView中发现了一个bug,但我想让其他人运行它,看看是否有人遇到过这个问题。我使用的是iOS 7和Xcode 5 在我的故事板中,我有一个视图控制器,其中有一个MKMapView。我的应用程序允许纵向和横向旋转。当用户旋转设备时,我正在使用autolayout来更新MKMapView的框架 旋转后,MKMapView似乎报告了regiondidchangeactived委托方法中不正确的centercoordination: - (void)mapView:(MKMapV

我想我可能在
MKMapView
中发现了一个bug,但我想让其他人运行它,看看是否有人遇到过这个问题。我使用的是iOS 7和Xcode 5

在我的故事板中,我有一个视图控制器,其中有一个
MKMapView
。我的应用程序允许纵向和横向旋转。当用户旋转设备时,我正在使用autolayout来更新
MKMapView
的框架

旋转后,
MKMapView
似乎报告了
regiondidchangeactived
委托方法中不正确的
centercoordination

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
{
    NSLog(@"%@ %@", @(mapView.centerCoordinate.latitude), @(mapView.centerCoordinate.longitude));
}
当我的视图控制器首次以纵向方向加载时,我得到以下输出:

25.69266565483518 -40               
37.17818069458006 -96.05458068847656
9.656197790830817 -96.05458068847656
37.17818069458006 -96.05458068847656
将设备旋转到横向后,我得到以下输出:

25.69266565483518 -40               
37.17818069458006 -96.05458068847656
9.656197790830817 -96.05458068847656
37.17818069458006 -96.05458068847656
将设备旋转回纵向后,我得到以下输出:

25.69266565483518 -40               
37.17818069458006 -96.05458068847656
9.656197790830817 -96.05458068847656
37.17818069458006 -96.05458068847656
最后,这里是纵向和横向的屏幕截图。我在图像的中心画了点来表示——至少从渲染的角度来看——中心是相同的

这实际上是一个错误,因为它看起来还是我遗漏了什么

编辑:

我更改了
RegiondChangeAnimated
中的代码,以便在一毫秒延迟后输出
centerCoordinate
。当我这样做时,我得到了正确的结果。但是,这并不是最优的,我仍然认为在调用
RegiondChangeAnimated
之前,应该通过
MKMapView
更新
CenterCoordination

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
{
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_MSEC), dispatch_get_main_queue(), ^
    {
        NSLog(@"%@ %@", @(mapView.centerCoordinate.latitude), @(mapView.centerCoordinate.longitude));
    });
}

37.17818069458006 -96.05458068847656
37.17818069458006 -96.05458068847656
37.17818069458006 -96.05458068847656
37.17818069458006 -96.05458068847656
编辑:


我创建了一个示例项目,以便为Apple bug报告重现该bug。我注意到,如果MKMapView未嵌入导航控制器中,centerCoordinate属性始终报告正确的值。当我将其嵌入导航控制器并关闭“在顶栏和底栏下延伸边缘”选项时,它报告的值不正确。

我提交给苹果的缺陷被确认为重复。看起来这确实是MapKit中的一个bug。

现在是2016年,我仍然看到这个bug,您是否有到bug报告和状态的链接?我也看到了与MKMapView中心坐标不一致的地方。我认为这与它如何计算视图框架有关。