切换选项卡时打开导航控制器

Unwind Navigation Controller on when switching tabs

我的设置如下:我在根初始视图中有一个 TabBarController 和以下选项卡:TabViewController1 和 MoreMenuViewController。更多菜单视图控制器有一个嵌入式 UIVNavigationController,它有一个按钮可以将 SettingsViewController 推入视图。

UITabbarController -> UINavigationController -> TabViewController1
UITabbarController -> UINavigationController -> MoreMenuViewController -> SettingsViewController

现在,假设我在 SettingsViewController 中。我单击选项卡转到 TabViewController1。当我单击选项卡转到 MoreMenuViewController 时,我看到的是 SettingsViewController。我希望它在选项卡切换时显示 MoreMenuViewController。

我将 iOS8 和 XCode6 与故事板一起使用。

在您的 MoreMenuViewController 中,您可以像这样实现 UITabBarControllerDelegate 方法:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
    [self.navigationController popViewControllerAnimated:NO];
}

此外,您需要通过以下方式将 MoreMenuViewController 设置为 UITabBarControllerDelegate 的委托(例如在 viewDidLoad 方法中):

self.tabBarController.delegate = self;