首页 > 解决方案 > 为什么不能更改 UITabBar 徽章字体 iOS Swift?

问题描述

我尝试像这样更改UITabBar 徽章字体:

cartTab = tabBar.items![2]
let font =  UIFont(name: "MyFontName", size: 11)!
cartTab?.setBadgeTextAttributes([NSAttributedStringKey.font.rawValue: font], for: .normal)
cartTab?.setBadgeTextAttributes([NSAttributedStringKey.font.rawValue: font], for: .selected). 

我在我的自定义标签栏控制器(viewDidLoad)中设置了这段代码。

标签: iosswiftuitabbarcontrolleruitabbarbadge

解决方案


AppDelegate在(Swift 3)中试试这个

let font =  UIFont(name: "MyFontName", size: 11)!
UITabBarItem.appearance().setBadgeTextAttributes([NSFontAttributeName: font], for: .normal)
UITabBarItem.appearance().setBadgeTextAttributes([NSFontAttributeName: font], for: .selected)

更新:

斯威夫特4

let font =  UIFont(name: "MyFontName", size: 11)!
UITabBarItem.appearance().setBadgeTextAttributes([NSAttributedString.Key.font: font], for: .normal)
UITabBarItem.appearance().setBadgeTextAttributes([NSAttributedString.Key.font: font], for: .selected)

推荐阅读