gpt4 book ai didi

ios - 重新打开选项卡时返回 View 层次结构中的初始 ViewController

转载 作者:搜寻专家 更新时间:2023-11-01 06:26:13 24 4
gpt4 key购买 nike

我目前遇到 UITabBarController 的问题s 和 UINavigationControllers .

假设我有 2 ViewControllers在我的 UITabBar :

  • MenuOne

  • 菜单二

关于 MenuOne我有一个按钮可以指向一个新的 ViewController ; PageOne .

如果我导航到第一个选项卡 ( MenuOne ),然后单击带有推送转至 PageOne 的按钮,标签栏仍然存在。如果我点击第二个选项卡 ( MenuTwo ) 然后返回到 MenuOne ,我被带回PageOne这是我在该 View 层次结构中离开的地方。

我的理解是,这是 Apple 的意图,这就是 UITabBarControllersUINavigationControllers 一起工作,但是当我在 MenuOne 中有几个 ViewControllers 时, 我不希望我的用户浏览选项卡而不被重定向到初始 ViewController .

为了澄清,这是现在的过程:

MenuOne > * 点击按钮 * > PageOne > * 点击标签 * > MenuTwo > * 点击标签 * > PageOne

这就是我希望它的工作方式:

MenuOne > * 点击按钮 * > PageOne > * 点击标签 * > MenuTwo > * 点击标签 * > MenuOne

有人知道我该如何解决这个问题吗?

最佳答案

您可以像这样创建自定义 UITabBarController:

class MyTabBarController: UITabBarController, UITabBarControllerDelegate {
override func viewDidLoad() {
self.delegate = self
}

// when a controller is selected...
func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
if let vc = viewController as? UINavigationController {
// pop the navigation controller to root VC
vc.popToRootViewController(animated: false)
}
}
}

在 Storyboard中,将 UITabBarController 的类设置为 MyTabBarController

关于ios - 重新打开选项卡时返回 View 层次结构中的初始 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54248719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com