How do i change navigationBar font in Swift?

前端 未结 9 1192
伪装坚强ぢ
伪装坚强ぢ 2020-12-23 20:16

How do I change the NavigationBar font in Swift?

This is what I have tried so far, but receiving an error (I have correctly implemented CaviarDreams

相关标签:
9条回答
  • 2020-12-23 20:54

    Try this:

    self.navigationController.navigationBar.titleTextAttributes = [ NSFontAttributeName: UIFont(name: "CaviarDreams", size: 20)!]
    

    Edit: Now, UIFont must be unwrapped to be able to be used here.

    Swift 5 (+ safe handling of optional UIFont)

    self.navigationController?.navigationBar.titleTextAttributes = [ NSAttributedString.Key.font: UIFont(name: "Caviar-Dreams", size: 20) ?? UIFont.systemFont(ofSize: 20)]
    
    0 讨论(0)
  • 2020-12-23 20:54

    Swift 4.2

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
      // Override point for customization after application launch.
    
      let font = UIFont(name: "FontName", size: 16) ?? UIFont.systemFont(ofSize: 16)
      UINavigationBar.appearance().titleTextAttributes = [.font: font]
    }
    
    0 讨论(0)
  • 2020-12-23 21:01

    For Swift 2.3

    self.navigationController!.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "Roboto-Bold", size: 20.0)!, NSForegroundColorAttributeName : UIColor.whiteColor()];
    
    0 讨论(0)
  • 2020-12-23 21:02

    Swift 4

    if let font = UIFont(name: "FontName", size: 16) {
    
     self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.font: font]
    
    }
    

    Or as the other answer recommended doing it on the AppDelegate:

      if let font = UIFont(name: "FontName", size: 16) {
    
        UINavigationBar.appearance().titleTextAttributes = [
              NSAttributedStringKey.font: font]
    
    }
    
    0 讨论(0)
  • 2020-12-23 21:03

    Swift 4.2

     self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedString.Key.font: UIFont(name: "Helvetica", size: 18.0)!]
    
    0 讨论(0)
  • 2020-12-23 21:09

    Swift 4.2

    Change Large Title

    self.navigationController!.navigationBar.largeTitleTextAttributes = [.font: UIFont.systemFont(ofSize: 22)]
    

    Change Small Title when layout scrolled down

    self.navigationController!.navigationBar.titleTextAttributes = [.font: UIFont.systemFont(ofSize: 14)]
    
    0 讨论(0)
提交回复
热议问题