タブバー アプリケーションがあり、最初のタブにMKMapView
. 私がやりたいことは、アプリケーションの別の場所から、アクティブなタブをマップビューに切り替え、前のビュー (マップビューに切り替えるボタンのあるもの) のデータに基づいてマップビューの領域を設定することです。
私が試したことは次のとおりです。
[self.tabBarController setSelectedView:0];
UIMapViewController *mapView = [self.tabBarController.viewControllers objectAtIndex:0];
[mapView displayBookmarkAnnotation:bookmark];
これにより、アプリがクラッシュし、作成したメソッドが見つかりません。これを実装するための最良の方法を選択したとは思いませんが、どうすればよいか本当にわかりません。
[更新] によって返されたコントローラーをキャストし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];