切换选项卡时打开导航控制器
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;
我的设置如下:我在根初始视图中有一个 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;