【问题标题】:How can I push a new view controller onto a different nav controllers stack and switch to it?如何将新的视图控制器推送到不同的导航控制器堆栈并切换到它?
【发布时间】:2010-04-08 00:08:08
【问题描述】:

我在 Interface Builder 中创建了一个标签栏控制器

标签栏内有 4 个导航控制器。

每个控制器功能独立且完美(耶!)

我需要做的是将视图控制器推送到不同的导航控制器堆栈并将焦点切换到适当的选项卡栏项目(以便用户横向移动(到不同的选项卡)和向上(到新视图)同时)。

这是我第一次使用标签栏控制器,虽然到目前为止它很简单,但弄清楚这一点让我很适应。您可以向我提出任何提示将不胜感激。

【问题讨论】:

    标签: iphone uiviewcontroller uinavigationcontroller uitabbarcontroller


    【解决方案1】:

    我会使用类似以下的内容作为起点,其中whichTab 是您将要推送到的选项卡的索引,newViewController 是您要推送和切换到的视图控制器。您可能需要玩弄推动与切换的顺序。

    UITabBarController *tabBarController = (UITabBarController *)[[[UIApplication sharedApplication] delegate] tabBarController];
    
    UINavigationController *otherNavController = (UINavigationController *)[[tabBarController viewControllers] objectAtIndex:whichTab];
    
    [otherNavController pushViewController:newViewController animated:NO];
    tabBarController.selectedIndex = whichTab;
    

    【讨论】:

    • 我试图让它变得更复杂。感谢您提供快速、简单和完美的答案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    相关资源
    最近更新 更多