ios - UINavigationBar 更改字体

标签 ios xcode swift

我正在尝试更改整个应用程序中导航栏上的字体。我已经为 UINavigationViewController 创建了一个子类。

我能够构建并运行代码,但是当我启动应用程序时,它卡住并且错误为“ fatal error :在解包可选值时意外发现 nil”

我的代码如下:

self.navigationBar.barTintColor = UIColor(red: 236/255, green: 28/255, blue: 17/255, alpha: 1.0)
    self.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
    self.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "ITCFranklinGothicStd", size:12)!]

栏颜色和文本栏工作正常,但我无法更改字体。它位于我的代码的覆盖 viewdidload 部分。

最佳答案

ITCFranklinGothicStd 不能是有效的字体名称,因此您的 UIFont 变为 nil,并且您的 ! 尝试解开它。 --> 崩溃。

尝试将 ITCFranklinGothicStd 替换为已知的有效字体名称,例如 HelveticaNeue-Light,您会发现它有效。然后出去找到有效的名字。如果它是自定义字体,则一种方法是在字体簿中打开该字体并查看字体信息。

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

相关文章:

ios - progressView 是否会通过调用 updateProgress 自动更新

iphone - 按下按钮时停止声音 iOS

swift - Gamescene.swift 和 Gamescene.sks 不能一起工作

objective-c - 有没有办法在 Interface Builder/storyboard 中自动调整 UIImageView 的大小?

swift - 在单个值上使用 childByAutoId?

iphone - Xcode 目标名称为空 - 无法更改

ios - 下次启动应用程序时,如何检查数据是否成功存储在 coredata 中? - iOS swift

ios - 如何正确构造iOS Xcode项目以进行多方调试

ios - "Any?"类的 Swift3 扩展?

ios - 'NSInvalidArgumentException',原因:'-[NSTaggedPointerString count]:无法识别的选择器已发送到实例0x8000000000000000'