This is pretty simple to do. But first a little of theory. The backBarButonItem
does not affect the current ViewController
, it affect the next in the stack of the UINavigationController
. I will give you an example. If you have the ViewController
A
and the ViewController
B
, then to accomplish your task, you set the backBarButtonItem
in A
with a blank space in the title
. Then when you go A -> B
you will see only the arrow in the top left corner.
Exist two way to solve this issue, one in the storyboard
and the other is in code.
- For the
storyboard
you need to set like in the next picture the Back Button title with an single space like you can see

- The second way is in code, but for this you need an extra code get the dismiss appropriately
First put this code anywhere in your project
extension UIViewController {
@IBAction func unwind(_ sender: UIStoryboardSegue)
{
}
}
With that, then in A ViewController
you can do then this:
class ViewControllerA: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: " ", style: .plain, target: self, action: #selector(unwind(_:)))
}
}
Good coding. Best regards