当前位置: 首页 > 知识库问答 >
问题:

更改UITabBarItem字体时遇到问题

宇文飞翮
2023-03-14

我正在尝试为iOS13中的标签栏设置一个自定义字体,下面的方法几乎是可行的,但是只有当标签栏项目被选中后,字体才会被更改。 你能告诉我我错过了什么吗?

class MainTabBarController: UITabBarController {
    
    private func setTabBarFont (_ appearance: UITabBarItemAppearance) {
        let myFont = UIFont(name: "Dosis", size: 12)!
        appearance.normal.titleTextAttributes = [NSAttributedString.Key.font: myFont]
        appearance.focused.titleTextAttributes = [NSAttributedString.Key.font: myFont]
        appearance.selected.titleTextAttributes = [NSAttributedString.Key.font: myFont]
        appearance.disabled.titleTextAttributes = [NSAttributedString.Key.font: myFont]
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()

        let appearance = tabBar.standardAppearance
        
        setTabBarFont(appearance.stackedLayoutAppearance)
        setTabBarFont(appearance.inlineLayoutAppearance)
        setTabBarFont(appearance.compactInlineLayoutAppearance)

        self.tabBar.standardAppearance = appearance
    }
}

共有2个答案

柳玄裳
2023-03-14

Tabbar中获取items并循环通过它们来设置TitleTextAttributes,即。

override func viewDidLoad() {
    if let items = self.tabBar.items {
        items.forEach {
            $0.setTitleTextAttributes([
                .font: UIFont.systemFont(ofSize: 10.0, weight: .bold),
                .foregroundColor: UIColor.red
            ], for: .normal)
        }
    }
}
东方和煦
2023-03-14

它将工作,如果你改变字体以下方式

let fontAttributes = [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 12.0)]
UITabBarItem.appearance().setTitleTextAttributes(fontAttributes, for: .normal)
 类似资料:
  • 问题内容: 我打算在微调器中将文本字体更改为arialbold。以下是我的代码:- 问题答案: 类: 版面: my_spinner_style.xml TTF文件

  • 本文向大家介绍iOS更改字体,包括了iOS更改字体的使用技巧和注意事项,需要的朋友参考一下 示例 Swift Objective-C            

  • 使用DOM PDF创建一些报告,但是我唯一遇到的问题是设置无衬线字体。 我尝试了几乎所有的方法来设置CSS中可能的字体,但它总是以衬线字体呈现。 我并没有试图呈现一个自定义字体,只是一些简单的东西,比如helvetica或arial。 有没有其他人有过这个问题,或者知道为什么它可能会默认为衬线? 注意:应用程序在CodeIgnitor上运行。

  • 除了这个问题:更改超文本标记语言电子邮件正文字体类型和大小在VBA,我想知道如何才能改变字体大小 当我从代码中删除字体大小时,它确实改变了字体系列。 谢谢你的协助,

  • 所以我开始了一个个人简历网站,我偶然发现了一个非常酷的东西:font awesome,它以文本的形式提供图形,允许你通过CSS添加字体效果。我的问题是一切都很好,直到我试图改变字体大小,无论什么原因,它就是不会改变。你有什么想法吗?我也是新的这里,我已经阅读通过如何使帖子,但如果我做错了,请让我知道。

  • 我有两个实体具有@OneTomany(Entity1)&@ManyToOne(Entity2)双向关系。在@OneTomany关系中,我有@Cascading{Cascade.All}。但是当我在事务或方法中将具有@ManyToOne关系的实体的初始为false的boolean属性更改为true,然后又变回false时,它会导致数据库触发更新查询,将实体的boolean设置为false,这似乎是错

  • 初始化引导层 java.lang.module.FindException 时出错:找不到模块 helloFX 我的包名为helloFX,在从eclipse市场安装javafx时,我收到上面提到的执行错误

  • 我是Java新手,在过去从未遇到过麻烦的事情上苦苦挣扎。不管出于什么原因,我不能扫描代码中的int(或double),但我可以扫描字符串。我正在发布扫描程序无法正常工作的代码片段,请告诉我是否应该包含程序的其余部分。 在底部附近,不接受任何扫描值。我试着把它放在一个不同于的方法中,我试着重新排列它,为它创建一个单独的扫描仪,以及其他一些事情。调试器显示,不管怎样,我都会被卡在那行代码上。我做错了什