首页 > 解决方案 > 如何设置自定义字体

问题描述

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

这是我的设置:

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

2:文件添加在Copy Bundle Resources

3:文件名加上Info.plist结束标签.ttf

4:文件被添加到 Target Membership。

我也尝试过:

1:添加Application fonts resource path为“字体”Info.plist

2:将文件添加到正确Copy files phasebuild phases目标下。

我怎么称呼他们?

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)")
            }
        }

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

请不要只阅读标题并说“重复”,因为事实并非如此。我已经检查了那里的每一个解决方案。

标签: swiftembedded-resourceuifont

解决方案


所以我发现了问题所在。哪个看起来像 Xcode 错误?

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

在此处输入图像描述

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


推荐阅读