Контроллер панели вкладок обращается к активному контроллеру навигации текущей вкладки через делегат приложения

У меня есть следующие настройки. У меня есть 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 ответ

Решение

Выяснил жизнеспособное решение для того, что я хотел сделать. Я создал выход для контроллера навигации, к которому я пытался получить доступ, а затем просто выдвинул свое представление

Другие вопросы по тегам