skip to Main Content
public override func viewDidLoad() {
    super.viewDidLoad()
    navigationItem.backBarButtonItem = .init(image: "back_icon".image, style: .plain, target: nil, action: nil)
}

For this above code, I got my back_icon image with the default back image

Output Image

Any idea to remove the default back button at the same time preserving swipe edge to pop viewController.

2

Answers


  1. You can remove default back Button by following way:

    navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
    

    And manually add navigation items in left side using navigationitem.leftBarButtonItem.

    Hope it helps!

    Login or Signup to reply.
  2. You should be able to change the back button image globally by using

    UINavigationBar.appearance().backIndicatorImage = UIImage(named: "arrow-back")
    UINavigationBar.appearance().backIndicatorTransitionMaskImage = UIImage(named: "arrow-back")
    

    And if you only want to change it in some places:

    navigationController?.navigationBar.backIndicatorImage = UIImage(named: "arrow-back")
    navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "arrow-back")  
    

    Removing an arrow at all would be as simple as

    navigationController?.navigationBar.backIndicatorImage = UIImage()
    navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage()
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search