Hide back button in navigation bar with hidesBackButton in Swift

Amer Hukic picture Amer Hukic · Jan 22, 2015 · Viewed 49.2k times · Source

I want to hide the back button when transitioning from one view to another. I read the questions regarding this problem and every answer was "use hidesBackButton". The problem with this is:

  • when I put it in viewDidLoad/viewWillAppear the back button arrow hides but the string "Back" doesn't.

  • when I put it in viewDidAppear the back button disappears but it visible to the user

How can I fix this?

Edit:

Here is how you can replicate this problem(or bug?)
Make a new Tabbed application with Swift in Xcode. In the FirstViewController.swift use performSegueWithIdentifier to navigate to the second view controller. In the SecondViewController.swift hide the navigation bar back button using hidesBackButton and you will see what the problem is.

Answer

ObjectiveTC picture ObjectiveTC · Sep 10, 2015

To hide the back button with the latest Swift:

self.navigationItem.setHidesBackButton(true, animated: false)