ios - 即使我在 iOS 的另一个选项卡中,如何返回 Root View Controller ?

标签 ios swift uinavigationcontroller

假设我在底部导航中有 3 个主要选项卡,名为

  1. 首页
  2. 搜索
  3. 个人资料

如果我在“主页”选项卡中,则可以像这样转到“产品列表 VC”和“产品详细信息 VC”

首页 --> 产品列表 --> 产品详情

假设在产品详细信息 VC(在“主页”选项卡中)之后,用户选择“个人资料”选项卡来执行注销操作

我希望当用户注销时,所有选项卡都应该位于根目录中,我的意思是位于每个选项卡的顶层层次结构中,而不是像产品详细信息那样位于内部

我知道如果我在同一个选项卡中,我可以使用下面的代码返回根 VC:

self.navigationController?.popToRootViewController(animated: true)

但我想要的是,即使我在配置文件选项卡中,我也可以将其他选项卡(主页和搜索)返回到 Root View Controller 。

如何做到这一点?

最佳答案

第一个:Home、Search、Profile 必须是 UINavigationController。
当用户在配置文件 View Controller 注销时,调用:

if let navigations = self.tabBarController?.viewControllers {
            for item in navigations {
                if let navigation = item as? UINavigationController {
                    navigation.popToRootViewController(animated: false)
                }
            }
        }

关于ios - 即使我在 iOS 的另一个选项卡中,如何返回 Root View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58315321/

相关文章:

ios - 检查 Internet 连接可用性?

ios - 使用 tabris iOS 客户端更改服务器 URL?

ios - 在 Scene Kit View 中创建转换小部件

Swift-YouTube-播放器 : Not able to read available videos

iphone - NSGenericException',原因 : 'Push segues can only be used when the source controller is managed by an instance of UINavigationController

ios - UITableView indexPath 和最大可重用单元格数

Swift - 如何声明一个接收范围内数字的方法

ios - 选项卡更改时 View 会更改大小

xcode - Swift - 导航 Controller 不会杀死 View Controller 实例

ios - 调用 popViewController 后每次调用 viewDidLoad 动画 :