Ios 在Swift中隐藏TabbedBarController上的后退按钮

Ios 在Swift中隐藏TabbedBarController上的后退按钮,ios,swift,Ios,Swift,我有一个NavigationViewController,它可以连接到TabbedBarController。我不想在TabbedBarController上显示后退按钮。 我在Swift中尝试了这两个代码片段,但都不起作用 override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) self.tabBarController?.navigationItem.hid

我有一个NavigationViewController,它可以连接到TabbedBarController。我不想在TabbedBarController上显示后退按钮。 我在Swift中尝试了这两个代码片段,但都不起作用

override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        self.tabBarController?.navigationItem.hidesBackButton = true
    }

override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        self.navigationItem.hidesBackButton = true
    }
这是一张快照

这是选项卡式的条形视图控制器


如何隐藏选项卡式工具栏视图控制器上的“后退”按钮。如何隐藏选项卡式工具栏控制器上的“后退”按钮?

有很多方法可以满足您的需要,但我99.9%确信,可以在leftBarButtonItems中添加一个barButton来替换navigationController的默认backButton:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    self.navigationItem.leftBarButtonItems = [UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)]
}
此外,当重写控制器的任何生命周期方法时,您可能不希望遗漏父类中的任何内容,因此不要忘记调用其超级等价物,如super.viewWillApperanimated

我希望这有帮助

编辑:有两种方法可以在tabBarController中执行您想要的操作,因为我已经可以描绘出项目的流程

将代码放入tabBarController的ViewWillDisplay中。这意味着您可能需要对UITabBarController进行子类化。所以它应该是这样的:

class MyTabBarController: UITabBarController {
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)

        self.navigationItem.leftBarButtonItems = [UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)]
    }
}
你应该展示你的tabBarController,这更理想


因此,这将从先前的ViewController中删除“后退”按钮,该按钮将进入选项卡栏控制器。我想从TabbedBarViewController中删除“后退”按钮。我有一个导航视图控制器,它可以连接到TabbedBarController。我不想在TabbedBarController上显示后退按钮。我有一个ViewController A,它被嵌入到一个导航控制器中,导航控制器分为B,导航控制器分为一个有C和D的选项卡条控制器。我把你的代码添加到了B,它丢失了后退按钮。我想要的是C和D失去后退按钮。你有时间上传你当前结果的截图吗?因为我似乎无法得到你得到的。移除或隐藏嵌入在ViewController a的navigationController中的tabBarController的backButton意味着C和D也不会backButton,假设您在navigationController中嵌入每个控制器的方式是正确的..让我们来看看。