Right now I have two view controllers. My problem is I don't know how to hide the back button after transitioning to the second view controller. Most references that I found are in Objective-C. How do I code it in Swift?
Hide back button code in Objective-C
[self.navigationItem setHidesBackButton:YES animated:YES];
In case you're using a UITabBarController
:
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.tabBarController?.navigationItem.hidesBackButton = true
}
Swift
// remove left buttons (in case you added some)
self.navigationItem.leftBarButtonItems = []
// hide the default back buttons
self.navigationItem.hidesBackButton = true
self.navigationItem.setHidesBackButton(true, animated: false)
You may try with the below code
override func viewDidAppear(_ animated: Bool) {
self.navigationController?.isNavigationBarHidden = true
}
That worked for me in Swift 5 like a charm, just add it to your viewDidLoad()
self.navigationItem.setHidesBackButton(true, animated: true)
Go to attributes inspector and uncheck show Navigation Bar to hide back button.
Put it in the viewDidLoad
method
navigationItem.hidesBackButton = true
Here is a version of the answer in
// MARK: - Hiding Back Button
extension UINavigationItem {
/// A Boolean value that determines whether the back button is hidden.
///
/// When set to `true`, the back button is hidden when this navigation item
/// is the top item. This is true regardless of the value in the
/// `leftItemsSupplementBackButton` property. When set to `false`, the back button
/// is shown if it is still present. (It can be replaced by values in either
/// the `leftBarButtonItem` or `leftBarButtonItems` properties.) The default value is `false`.
@IBInspectable var hideBackButton: Bool {
get { hidesBackButton }
set { hidesBackButton = newValue }
}
}
Every navigation item of a view controller will have this new property in the top section of attributes inspector
This is also found in the UINavigationController class documentation:
navigationItem.hidesBackButton = true
Source: Stackoverflow.com