swift 代码中未找到 SF Pro Text Medium 字体

SF Pro Text Medium font is not found in swift code

我正在使用 xCode 9.3.1 & Swift 4.1.

我正在尝试以编程方式在我的应用程序代码中使用 SF Pro Text Medium 字体。但是在 swift 文件和应用程序崩溃的源代码中找不到此字体。

代码如下: NSAttributedStringKey.font: UIFont(名称: ".SFProText-Medium", 大小: 24.0)!

在 运行 时抛出以下错误: 致命错误:在展开可选值

时意外发现 nil

任何其他标准字体都可以。

这个字体在情节提要中可用,我已经成功使用了。

为什么它不能以编程方式运行?我是否必须将它添加到 xCode(plist 等)中才能使其工作?

按照以下步骤操作,看看是否适合您:


1) 将字体文件添加到您的项目

2) 在您的 info.plist 中,按下最顶部 Information Property List 旁边的加号按钮。输入 Fonts provided by application(它应该为您自动完成)。像这样添加字体文件:

3) 在左侧菜单中点击您的项目,然后转到 Build Phases 并将您的字体文件添加到显示 Copy Bundle Sources

的位置

如果您不确定您的字体叫什么,请打印所有字体,直到找到您的字体名称。 运行 这个在 viewDidLoad

UIFont.familyNames.forEach({ familyName in
    let fontNames = UIFont.fontNames(forFamilyName: familyName)
    print(familyName, fontNames)
})

Do I've to add it in the xCode (plist etc) to make it work?

当然。按照 Nader 的指示,确保字体文件将您的项目作为目标成员,如下所示: