Swift:如何隐藏标签栏控制器的第一个视图控制器上的后退按钮?

Sag*_*usA 3 xcode back-button uitabbarcontroller ios swift

我的标签栏控制器控制 5 个视图控制器,我希望在这 5 个主页中所有后退按钮都被禁用且不可见。我怎样才能正确地做到这一点?我已经尝试了在 SO 中看到的所有 Swift 命令,但到目前为止都没有奏效。

在此处输入图片说明

我试过

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationItem.hidesBackButton = true
}

override func viewWillAppear(animated: Bool) {
    self.navigationItem.hidesBackButton = true
}
Run Code Online (Sandbox Code Playgroud)

但它们不起作用。我也试过

self.tabBarController?.navigationItem.hidesBackButton = true

但这是奇怪的结果

在此处输入图片说明

小智 5

要从导航栏中删除“后退”按钮,您可以在情节提要中为您的 UITabBarController 创建一个 UITabBarController 类,在该类中,在 ViewDidLoad() 方法中,您可以调用

self.navigationItem.hidesBackButton = true 
Run Code Online (Sandbox Code Playgroud)

这将删除后退按钮。


Sam*_*elD 1

后退按钮可能是由tabbarcontrollernavigationcontroller添加的。所以你必须检查标签栏导航控制器。

像这样的东西:

self.tabbarcontroller.navigationcontroller.navigationitem.hidesBackButton = true
Run Code Online (Sandbox Code Playgroud)

我认为这会解决这个问题。由于后退按钮通常是由navigationcontroller添加的,而不是由tabbarcontroller添加的

更新

我建议他应该在选项卡控制器之后松开导航控制器。由于选项卡栏已经实现了不同视图之间所需的导航。这hidesbackbutton = true解决了他的问题