iOS 13 UIBarButtonItem字体

Giz*_*odo 7 uinavigationbar uinavigationcontroller uibarbuttonitem ios swift

希望在导航栏的后退按钮项上拥有自己的自定义字体,这过去对我有用:

    let barButtonAttributes = [NSAttributedString.Key.foregroundColor : UIColor.pink,
                               NSAttributedString.Key.font : UIFont(name: "My-Awesome-Font", size: 18)!]
    UIBarButtonItem.appearance().setTitleTextAttributes(barButtonAttributes, for: .normal)
    UIBarButtonItem.appearance().setTitleTextAttributes(barButtonAttributes, for: .highlighted)
Run Code Online (Sandbox Code Playgroud)

在iOS 13上,这对我来说已停止工作。有没有解决的办法?

Ash*_*ron 13

您将要研究UINavigationBarAppearanceiOS 13中的新类。

在您的情况下:

let style = UINavigationBarAppearance()
style.buttonAppearance.normal.titleTextAttributes = [.font: #YOURFONT#]
style.doneButtonAppearance.normal.titleTextAttributes = [.font: #YOURFONT#]

navigationController?.navigationBar.standardAppearance = style
// You may want these as well:
navigationController?.navigationBar.scrollEdgeAppearance = ...
navigationController?.navigationBar.compactAppearance = ...
Run Code Online (Sandbox Code Playgroud)

编辑: 文档-https: //developer.apple.com/documentation/uikit/uinavigationbarappearance

  • 有没有一种方法可以全局执行此操作,而不是在每个UIViewController中执行此操作? (2认同)