popBack 到选定选项卡的第一个视图控制器

Posted

技术标签:

【中文标题】popBack 到选定选项卡的第一个视图控制器【英文标题】:popBack to selected tab's first view controller 【发布时间】:2016-12-13 07:33:48 【问题描述】:

我正在开发一个有 5 个标签的应用程序。在选项卡 3 上,我有 nav_controller>> tableVC>> detailVC。当我点击推送通知时,它会打开 detailVC。问题是,回去后,我想打开 tableVC,但它正在弹出最近打开的 VC。我不想那样。

即使我正在处理任何其他选项卡,在单击通知并返回后,我希望选择选项卡 3 并打开 tableVC。

提前致谢。

编辑:

UINavigationController *navVc=(UINavigationController *) self.window.rootViewController;
                                             [navVc pushViewController:objVC animated:YES];

这是我从 appDel.m 打开 DetailVC 的方式

欢迎使用此流程的任何其他方法。

【问题讨论】:

如何从推送中打开?如果您想获得帮助,您需要向我们展示您的代码。 @ozgur 检查我的编辑。 【参考方案1】:

您可以使用此代码跳转到导航堆栈中的视图控制器。 只需导入viewController即可跳转为:

#import "SettingsViewController.h"

代码如下:-

    //for (UIViewController* viewController in self.navigationController.viewControllers)
    //
        //if ([viewController isKindOfClass:[SettingsViewController class]] )
        //
            SettingsViewController *listController = (SettingsViewController*)viewController;
            [self.navigationController popToViewController:listController animated:YES];
        //
    //

这有帮助。

【讨论】:

但是那个 viewController 并不总是在我的导航堆栈中。 先试试看。我将它用于类似的应用流程。 通过tableVC打开detailsVC是否正常工作。 没有。那时,我也没有在堆栈中获取 ListVC。当我从后台打开应用程序时。 在正常情况下,它的工作方式就像在堆栈中导航一样。

以上是关于popBack 到选定选项卡的第一个视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

底部导航视图中选定选项卡的颜色

仅使用一个视图控制器的具有多个选项卡的选项卡栏

从任何其他选项卡的视图控制器中弹出第二个选项卡的根视图(默认)

选项卡栏,当来自另一个选项卡的视图控制器时弹出到根视图控制器(默认 vc)

如何从另一个选项卡上的场景切换或弹出选项卡式应用程序中第一个选项卡的第二个场景?

以编程方式更改 TabViewController 中的选定选项卡