我想更改导航栏中的字体。但是,以下代码不起作用,它会导致应用程序崩溃。
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: UIFont(name: "Lato-Light.ttf", size: 34)!]
return true
}
我收到以下错误:
fatal error :在展开可选值 (lldb) 时意外发现 nil
我确实已将字体 Lato-Light.ttf 添加到我的项目中,因此它应该能够找到它。
最佳答案
UIFont()
是一个可失败的初始化器,它可能由于多种原因而失败。使用 !
强制解包会使您的应用崩溃。
最好单独初始化它并检查是否成功:
if let font = UIFont(name: "Lato-Light.ttf", size: 34) {
UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: font]
}
并检查您的字体文件是否包含在包资源中。
关于ios - 在 Swift 中更改导航栏中的字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26605796/