Ios 显示在根视图控制器上的后退按钮

Ios 显示在根视图控制器上的后退按钮,ios,swift,xcode,uinavigationcontroller,swift3,Ios,Swift,Xcode,Uinavigationcontroller,Swift3,在我的应用程序中,我有一个导航控制器。除了在我的根视图中不断得到一个不需要的后退按钮之外,一切似乎都正常工作。比如说 这是它在不选择任何选项的情况下的显示方式(需要始终如此) 这是我选择一个选项并返回后的结果 如何去掉后退按钮(仅在下面显示的根视图控制器上)?只需将后退按钮隐藏在特定的视图控制器中(在您的情况下是根视图控制器)。将此代码添加到您的viewDidLoad()方法: let backButton = UIBarButtonItem(title: "", style: .plain

在我的应用程序中,我有一个导航控制器。除了在我的根视图中不断得到一个不需要的后退按钮之外,一切似乎都正常工作。比如说

这是它在不选择任何选项的情况下的显示方式(需要始终如此)

这是我选择一个选项并返回后的结果


如何去掉后退按钮(仅在下面显示的根视图控制器上)?

只需将后退按钮隐藏在特定的视图控制器中(在您的情况下是根视图控制器)。将此代码添加到您的
viewDidLoad()
方法:

let backButton = UIBarButtonItem(title: "", style: .plain, target: navigationController, action: nil)
navigationItem.leftBarButtonItem = backButton
您可以使用这行代码

override func viewWillAppear(animated: Bool) {
    self.navigationController?.navigationBarHidden = true
}

试试这段代码。

   override func viewDidLoad() {
   super.viewDidLoad()
   self.navigationItem.setHidesBackButton(true, animated:true)
}
返回主VC或根VC:

  func backToMain() {
 // If you want to go back to the previous view controller
  navigationController?.popViewControllerAnimated(true)

 //If you want to go back to the root view controller
 navigationController?.popToRootViewControllerAnimated(true)
  } 

您正在从另一个控制器中按下RootController,这就是您获得此返回按钮的原因

有两种方法可以删除此按钮。返回RootView时始终弹出或隐藏RootView上的后退按钮

要隐藏“后退”按钮,请使用以下代码:

self.navigationController.navigationItem.hidesBackButton = true;
要弹出:

[self.navigationController popViewControllerAnimated:true];// If you have pushed from RootView controller

[self.navigationController popToViewController:YourRootViewController animated:true]; // To travel back to RootView controller from any Controller

希望这对你有帮助

纯故事板segue(show)在选项屏幕中似乎没有使用popViewController,但您再次推送到这个根viewController。我设想您的导航堆栈实际上是:rootviewController->Collection/pull->rootviewController(另一个实例)。看看这个。检查我的更新答案。谢谢方法在你的导航层次结构中严重混乱,你能发布一些关于你的故事板的东西吗?不客气,几天前你也有同样的问题。如果你能把这个答案标记为正确的,它将帮助其他人节省时间。谢谢当我看起来像个黑客的时候我会做什么?你试着按到空的地方了吗?发生了什么事?是的,没有发生任何事@Hoa