设置 UIBarButtonItem 外观仅在延迟后起作用
Setting UIBarButtonItem appearance is only working after a delay
我正在 func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions)
中设置我所有的 appearance() 覆盖
其中大部分工作正常,但 UIBarButtonItem 字体更改似乎只是在延迟后才工作。以下是我的设置方式:
UIBarButtonItem.appearance().setTitleTextAttributes(
[.font: UIFont.regularFont(size: 18)!],
for: .normal)
UIBarButtonItem.appearance().setTitleTextAttributes(
[.font: UIFont.regularFont(size: 18)!],
for: .selected)
当我第一次启动该应用程序时,我看到以下内容,其中 BarButtonItem 使用的是系统字体而不是我的自定义字体。但是,标题导航栏字体是正确的:
当我导航到另一个选项卡并返回时,我看到了正确的字体:
我还尝试将外观覆盖移动到 AppDelegate 中,但这没有任何影响
多亏了this
我终于弄明白了
let navAppearance = UINavigationBarAppearance()
let bbItemAppearance = UIBarButtonItemAppearance()
bbItemAppearance.normal.titleTextAttributes = [.font: UIFont.regularFont(size: 18)!]
navAppearance.buttonAppearance = bbItemAppearance
UINavigationBar.appearance().standardAppearance = navAppearance
我正在 func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions)
其中大部分工作正常,但 UIBarButtonItem 字体更改似乎只是在延迟后才工作。以下是我的设置方式:
UIBarButtonItem.appearance().setTitleTextAttributes(
[.font: UIFont.regularFont(size: 18)!],
for: .normal)
UIBarButtonItem.appearance().setTitleTextAttributes(
[.font: UIFont.regularFont(size: 18)!],
for: .selected)
当我第一次启动该应用程序时,我看到以下内容,其中 BarButtonItem 使用的是系统字体而不是我的自定义字体。但是,标题导航栏字体是正确的:
我还尝试将外观覆盖移动到 AppDelegate 中,但这没有任何影响
多亏了this
我终于弄明白了let navAppearance = UINavigationBarAppearance()
let bbItemAppearance = UIBarButtonItemAppearance()
bbItemAppearance.normal.titleTextAttributes = [.font: UIFont.regularFont(size: 18)!]
navAppearance.buttonAppearance = bbItemAppearance
UINavigationBar.appearance().standardAppearance = navAppearance