У меня есть приложения, созданные в Xcode 5, с хорошо работающим mkMapView. Недавно появилось новое приложение в Xcode 6.1 и перетащило старые сценарии раскадровки и контроллеры представлений в новое приложение. Теперь на карте отображается пустой экран и аннотации на IOS 7, но я работал с IOS 8. Я добавил кнопку, и теперь на IOS 8 также вид карты пуст. Я удалил и воссоздал представление в раскадровке с видом карты внутри представления внутри контроллера вида, перетаскивая его из шаблонов объектов. Карта оставалась пустой. После отладки я вижу, что regionWillChangeAnimated и regionDidChangeAnimated показывают повторяющиеся события setRegion, которые устанавливают область в 0.0 координат (до и после того, как я установил правильную область).iOS MkMapView blank после перехода на Xcode 6
Наконец, удалил mkMapView из представления раскадровки и создал его с помощью кода.
//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 события теперь отображаются не & карта работает нормально. Есть ли что-то в раскадровке, которую я должен устанавливать? Почему созданный раскадрой просмотр вызывает повторяющиеся события setRegion с нулевыми координатами?
Спасибо - я был пойман Xcode 6 по умолчанию «Use Size Classes» на – sfr14