Iphone UITabBarController中的自定义默认导航级别

Iphone UITabBarController中的自定义默认导航级别,iphone,Iphone,当您点击已选择的UITabBar上的选项卡,并且该视图控制器是导航控制器时,导航控制器将弹出到根视图控制器。如何将此行为更改为弹出到与根不同的级别?您可以使用UITabBarControllerDelegate围绕此级别播放: 当视图控制器是根控制器时,尝试返回“否”,并按下或弹出所需的控制器。当您确实需要弹出到根控制器时,可能需要使用一些标志 - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelect

当您点击已选择的UITabBar上的选项卡,并且该视图控制器是导航控制器时,导航控制器将弹出到根视图控制器。如何将此行为更改为弹出到与根不同的级别?

您可以使用UITabBarControllerDelegate围绕此级别播放:

当视图控制器是根控制器时,尝试返回“否”,并按下或弹出所需的控制器。当您确实需要弹出到根控制器时,可能需要使用一些标志

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController

您可以使用UITabBarControllerDelegate在该区域播放:

当视图控制器是根控制器时,尝试返回“否”,并按下或弹出所需的控制器。当您确实需要弹出到根控制器时,可能需要使用一些标志

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController

设置UITabBarController委托并执行以下操作:

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
    return tabBarController.selectedViewController != viewController;
}
上面的代码将防止跳转到根目录。要手动弹出到不同的级别,您必须编写代码,在
选项卡控制器中执行以下操作:应选择ViewController:

  • 检查
    viewController
    是否是您感兴趣的特定导航控制器

  • 检查导航控制器的俯视图控制器是什么,并确定要弹出到哪个vc

  • 使用
    [navigationController-popToViewController:vc-animated:YES]
    或其他导航控制器推送/弹出方法之一实现所需功能


  • 设置UITabBarController委托并执行以下操作:

    - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
    {
        return tabBarController.selectedViewController != viewController;
    }
    
    上面的代码将防止跳转到根目录。要手动弹出到不同的级别,您必须编写代码,在
    选项卡控制器中执行以下操作:应选择ViewController:

  • 检查
    viewController
    是否是您感兴趣的特定导航控制器

  • 检查导航控制器的俯视图控制器是什么,并确定要弹出到哪个vc

  • 使用
    [navigationController-popToViewController:vc-animated:YES]
    或其他导航控制器推送/弹出方法之一实现所需功能