Search code examples
iosswiftuinavigationbar

iOS: Back button label is cut off with custom font


I'm using a custom font for the navigationItem; When I segue to another view controller the back button on the newly presented view controller is cut off on the left side. I have tried setTitlePositionAdjustment(_ adjustment: UIOffset, for barMetrics: UIBarMetrics) on the first view controller, before doing segue but it didn't displace the button: enter image description here

And

enter image description here

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "Show Contents" {
        if let viewController = segue.destination as? ContentsTableViewController {
                viewController.navigationItem.backBarButtonItem?.setTitlePositionAdjustment(UIOffsetMake(10, 0), for: .default)

        }
    }
}

Solution

  • Using this code:

    override func viewDidLoad() {
        super.viewDidLoad()
        let backBarButtonItem = UIBarButtonItem(title: "خانه", style: .plain, target: nil, action: nil)
        backBarButtonItem.setTitleTextAttributes([.font : UIFont(name: "B Koodak", size: 32)!], for: .normal)
        navigationItem.backBarButtonItem = backBarButtonItem
    }
    

    I get the following: enter image description here