【问题标题】:iOS 13 UIBarButtonItem FontiOS 13 UIBarButtonItem 字体
【发布时间】:2020-01-17 15:41:07
【问题描述】:

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

    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)

在 iOS 13 中,这对我不起作用。有解决办法吗?

【问题讨论】:

标签: ios swift uinavigationcontroller uinavigationbar uibarbuttonitem


【解决方案1】:

您会想要了解 iOS 13 中新的 UINavigationBarAppearance 类。

在你的情况下:

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 = ...

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

【讨论】:

  • 这成功了! navigationController? 应该是 self,如果你已经在 UINavigationController...
  • 有没有办法在全局范围内而不是在每个 UIViewController 中执行此操作?
  • @nullforlife UINavigationBar.appearance().standardAppearance = style 适用于 iOS 13。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-07
  • 2013-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-02
  • 1970-01-01
相关资源
最近更新 更多