У меня есть приложение с вкладками, и на первой вкладке у меня есть MKMapView
. То, что я хочу сделать, это откуда-то еще в приложении, переключить активную вкладку на вид карты и установить регион карты на основе данных в предыдущем виде (тот, который имеет кнопку для переключения на вид карты).
Что я пробовал:
[self.tabBarController setSelectedView:0];
UIMapViewController *mapView = [self.tabBarController.viewControllers objectAtIndex:0];
[mapView displayBookmarkAnnotation:bookmark];
Это просто приводит к сбою приложения, не позволяющему найти созданный мною метод.
Я не думаю, что выбрал лучший путь для реализации этого, но я действительно не уверен, как мне поступить.
[Update]
Приведение контроллера, возвращенного tabBarController
, не имело никакого эффекта.
[Решено]
Я пытался привести UINavigationController
к моему mapView
[self.tabBarController setSelectedView:0];
UINavigationController *navController = [self.tabBarController.viewControllers objectAtIndex:0];
//if the tab has other views open, return to mapView
[navController popToRootViewControllerAnimated:YES];
UIMapViewController *mapView = (UIMapViewController *)[navController visibleViewController];
[mapView customMessage:object];