ios - 如何更改 UINavigationItem 字体?

标签 ios swift uinavigationitem

我正在尝试更改 UINavigationItemfont 属性。

我试过使用 titleTextAttributes 但不知何故我只能更改标题字体。

如何更改字体或 UINavigationItem ?例如,返回 UIButton 的“更多”文本如下所示:

enter image description here

我试过使用:

self.navigationController?.navigationBar.titleTextAttributes = [
            NSForegroundColorAttributeName: UIColor.blackColor(),
            NSFontAttributeName: UIFont(name: "Papyrus", size: 18)!
        ]

但它只会改变图片上显示的内容,不会改变“更多”按钮的字体。

最佳答案

你的方法不起作用的原因是因为你只是在使用 titleTextAttributes = ... 当你必须使用 setTitleTextAttributes:forState: 我用这个函数来为我的整个项目全局自定义导航栏:

func customizeNavBar(_ color: UIColor, titleFont: UIFont, buttonFont: UIFont) {

    UINavigationBar.appearance().tintColor = color
    UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: color, NSFontAttributeName: titleFont]
    UIBarButtonItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: color, NSFontAttributeName: buttonFont], forState: UIControlState.Normal)
}

对于单个实例,调用相同的函数:

someBarButton.tintColor.setTitleTextAttributes([NSForegroundColorAttributeName: color, NSFontAttributeName: buttonFont], forState: UIControlState.Normal)

关于ios - 如何更改 UINavigationItem 字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28795735/

相关文章:

ios - 检查 Objective-C 框架支持的架构

iphone - 如何隐藏数字小键盘?

swift - SpriteKit 删除数组中存储的节点

ios - 如何使navigationItem.searchController的searchBar使用屏幕的整个宽度

ios - 创建具有不同颜色和字体的 UITextView 占位符

ios - 从 UIView 创建 PDF

function - Swift 中的全局函数调用?如何?

ios - "Share on facebook"打开我的应用程序

xcode - 如何在新的 navigationItem.searchController 中将 SearchBar 居中?

ios - 将右栏按钮项目从 'Save' 更改为 'Done'