我如何设置自定义字体

How do i setup custom font

我已经检查了每一个关于如何在您的应用程序中实现自定义字体的指南(包括 Apple 开发人员)。没有任何效果。

这是我的设置:

1:文件添加到资源中名为 Fonts 的子文件夹中。

2:文件添加到Copy Bundle Resources

3:文件名在Info.plist中添加,结束标记为.ttf

4:文件被添加到目标成员中。

我也试过的:

1: 在 Info.plist

中将 Application fonts resource path 添加为 "Fonts"

2:在正确的目标下将文件添加到 build phases 中的 Copy files phase

如何称呼他们?

enum Font: String {
    case robotoMedium = "Roboto-Medium"
    case robotoLight = "Roboto-Light"
    case robotoRegular = "Roboto-Regular"
    case robotoMediumItalic = "Roboto-MediumItalic"
    case robotoThinItalic = "Roboto-ThinItalic"
    case robotoBoldItalic = "Roboto-BoldItalic"
    case robotoLightItalic = "Roboto-LightItalic"
    case robotoBlackItalic = "Roboto-BlackItalic"
    case robotoBold = "Roboto-Bold"
    case robotoThin = "Roboto-Thin"
    case robotoBlack = "Roboto-Black"
    case robotoRegularItalic = "Roboto-RegularItalic"
    func withSize(size: CGFloat) -> UIFont {
        return UIFont(name: self.rawValue, size: size)!
    }
}

字体设置使用: Font.robotoRegular.withSize(size: 24)

一些调试:

for family: String in UIFont.familyNames
        {
            print("\(family)")
            for names: String in UIFont.fontNames(forFamilyName: family)
            {
                print("== \(names)")
            }
        }

此打印中未添加我的字体。

请不要只看标题就说"duplicate",因为它真的不是。我已经检查了那里的每一个解决方案。

所以我想通了这个问题。哪个看起来像是 Xcode 错误?

我注意到,如果我首先将字体放在情节提要中的标签上(我正在以编程方式进行所有操作)。它实际上被加载到字体系列中。我不知道为什么我必须将它添加到情节提要中。但是我的解决方案就像这里一样愚蠢:

我猜这是我见过的最丑陋的解决方案,但它确实有效,而且我找不到其他方法。