2017-06-22 4 views
1

Ich habe eine Registerkarte Bar View-Controller eingerichtet und mit Navigation Controller verbunden,
siehe dieses Bild.
enter image description here
Das Problem, das ich konfrontiert ist, ist dieses Bild ist "mehr" Registerkarte Leiste Seite
enter image description here
Wenn ich den Kreuz-Button klicken, wird es auf Home View Controller zu einer anderen Ansicht drücken. Aber wenn ich einen anderen Tab ankreuze und zu mehr Tab zurückkehre, bleibe der View-Controller auf dem Home-View-Controller, anstatt auf mehr Tab-Ursprungs-Controller. Ich muss mehr Tab 2 mal drücken, dann wird es nur zu mehr Tab-View-Controller zurück. Unter dem Code ist mein Tab-Controller bei der Auswahl des Elements.Tab Bar Controller muss zweimal antippen Hauptansicht zurück

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item { 
    NSLog(@"didSelectItem: %ld", (long)item.tag); 

    if (item.tag == 0) { 
    //try to dismiss home view controller in this way, but it won't work 
     [self.navigationController popToRootViewControllerAnimated:YES]; 

     NSString *str = @"TAB 1"; 
     NSLog(@"%@", str); 
    } 
} 

Antwort

1

Try this:

Conform-Protokoll auf appdelegte oder Unterklasse von UITabViewController

<UITabBarControllerDelegate> 

zuordnen Delegierten

tabBarController.delegate = self 

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 
{ 
    if ([viewController isKindOfClass:[UINavigationController class]]) 
    { 
     [(UINavigationController *)viewController popToRootViewControllerAnimated:NO]; 
    } 
} 
Verwandte Themen