【问题标题】:Why can not change UITabBar badge font iOS Swift? [duplicate]为什么不能更改 UITabBar 徽章字体 iOS Swift? [复制]
【发布时间】:2019-07-31 19:38:11
【问题描述】:

我尝试像这样更改 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) 中设置了此代码。

【问题讨论】:

    标签: ios swift uitabbarcontroller uitabbar badge


    【解决方案1】:

    AppDelegateSwift 3)中试试这个

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

    更新:

    Swift4

    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)
    

    【讨论】:

    • 无法将 'NSAttributedStringKey' 类型的值转换为预期的字典键类型 'String' 必须更改为 NSAttributedStringKey.font.rawValue
    • 请检查编辑
    • 很遗憾不能在 iOS 12 上运行。
    • 我已经检查过并且有效,请确保您的字体 Target Membership 和 xcode 知道您的字体
    • 同理,这段代码对iOS 12-13没有影响
    猜你喜欢
    • 2015-06-03
    • 2017-11-12
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多