移动到Xcode 6后,iOS MkMapView空白

我使用mkMapView在Xcode 5中创build的应用程序运行良好。 最近在Xcode 6.1中创build了一个新的应用程序,并将旧的故事板场景和视图控制器拖到新的应用程序中。 地图视图现在显示一个空白屏幕,IOS 7上没有注释,但在IOS 8上工作。我添加了一个button,现在IOS 8上的地图视图也是空白的。 我删除并通过从对象模板中拖动视图控制器内的视图内的地图视图重新创build故事板中的视图。 地图仍然是空白的。 debugging后,我看到regionWillChangeAnimated和regionDidChangeAnimated显示重复的setRegion事件,将区域设置为0.0坐标(设置正确的区域之前和之后)。

最后从故事板视图中移除mkMapView并使用代码创build它。

//Create the map view _mkMapView = [[MKMapView alloc] initWithFrame:self.view.frame]; _mkMapView.mapType = MKMapTypeSatellite; _mkMapView.delegate = self; [self.view addSubview:_mkMapView]; [self.view setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight]; self.view.alpha = 1.0; _mkMapView.mapType = MKMapTypeStandard; _mkMapView.pitchEnabled = NO; //Set me as map delegate _mkMapView.delegate = self; 

零setRegion事件现在不出现&地图工程确定。 故事板里有什么我应该设置的? 为什么故事板创build的视图会导致带有零坐标的重复setRegion事件?

当您在故事板中创build地图视图时,这听起来像是一个问题。 你没有大小限制,所以地图是零大小,所以该地区是零大小。

地图从来没有“空白”。 它完全缺失。 具有不充分(不明确)约束的对象不能绘制。 这只是一个偶然的机会, 不幸的是,不明确的约束不会导致错误信息,有时候运行时会以一种导致视图出现的方式来解决模糊性问题,所以你认为一切都没问题。 最终这个麻烦暴露了出来。