1
func initializePickerViewProperties() {
    let font = UIFont (name: "SanFranciscoDisplay-Regular", size: 30.0)
    let highlightedFont = UIFont (name: "SanFranciscoDisplay-Bold", size: 35.0)
    pickerView.font = font!
    pickerView.highlightedFont = highlightedFont!
}

相当简单,有问题的 pickerView 是一个AKPickerView

如果我删除强制解包,我会收到编译器错误。“可选类型 UIFont 的值未展开,您的意思是使用“!”还是“?”?

但是,当我强制打开它时,会出现运行时错误。“致命错误:在展开可选值时意外发现 nil”

4

3 回答 3

5

尝试打印所有可用的字体,并检查字体名称的拼写

 for fontfamily in UIFont.familyNames{
        for fontname in UIFont.fontNames(forFamilyName: fontfamily){
            print(fontname)
        }
    }
于 2016-02-22T12:48:11.800 回答
3

意味着您的字体未正确初始化并给出nil. 您应该安全地打开它们:

func initializePickerViewProperties() {
    if let font = UIFont (name: "SanFranciscoDisplay-Regular", size: 30.0),
        let highlightedFont = UIFont (name: "SanFranciscoDisplay-Bold", size: 35.0) {
        pickerView.font = font
        pickerView.highlightedFont = highlightedFont
    }
}
于 2016-02-22T12:34:49.493 回答
0

您必须首先在Info.plist 中添加自定义字体

要查找Info.plist文件:

  1. 确保您已将自定义字体导入到您的项目中。
  2. 单击项目导航器最顶部的蓝色图标 - 项目本身。
  3. 转到信息选项卡。
  4. 查找应用程序提供的字体
  5. 然后,单击加号图标将新的键值对添加到我们的 Info.plist。
  6. 添加您导入的字体的确切文件名,包括文件扩展名.

我用这个解决了我的问题。希望它也适用于你。

于 2018-10-20T07:19:51.053 回答