Контроллер панели вкладок обращается к активному контроллеру навигации текущей вкладки через делегат приложения
У меня есть следующие настройки. У меня есть TabBarController с тремя NavigationController в нем. Я хочу сделать следующее:
У меня есть вид карты с аннотациями на нем и кнопка на аннотации, я реализовал метод делегата, который срабатывает при нажатии кнопки аннотации. Моя проблема в том, что делегат для моего mapview также является подвидом mapview.
[self.mapView addSubview:self];
[self.mapView setRegion:region];
[self.mapView setDelegate:self];
Это пользовательский класс, который я использую для рисования маршрутов в моем виде на карте.
Другими словами, следующий метод находится в пользовательском классе, который является делегатом моего mapview.
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
{
Helper *myHelper = [Helper sharedManager];
StationInfo *myViewController = [[StationInfo alloc] initWithNibName:@"StationInfo" bundle:[NSBundle mainBundle]];
myViewController.station = [myHelper.stations objectAtIndex:[myHelper.stations indexOfObject:[view annotation]]];
GautrainiPhoneAppDelegate *del = (GautrainiPhoneAppDelegate *)[UIApplication sharedApplication].delegate;
//missing code to push the controller onto the navigation controller that is on the active tab in the tabBarcontroller
}
Так, как я могу поместить контроллер представления в стек навигации активной вкладки, используя делегат приложения, который содержит мой tabbarcontroller
1 ответ
Выяснил жизнеспособное решение для того, что я хотел сделать. Я создал выход для контроллера навигации, к которому я пытался получить доступ, а затем просто выдвинул свое представление