字体未在 XCode 中加载

Posted

技术标签:

【中文标题】字体未在 XCode 中加载【英文标题】:Font not loading in XCode 【发布时间】:2012-04-27 13:37:15 【问题描述】:

好吧,我想将新字体导入我的应用程序,但没有成功。我的 .plist 中有应用程序键提供的字体,项目 0 中的字体为字符串,值为 AdelleBasic_Bold.otf,我已将该字体添加到我的项目中,我正在尝试将其用于:

_myTextField.font = [UIFont fontWithName:@"Adelle Basic" size:15];

当我打开它时,Adelle Basic 是字体的标题。我也试过没有成功:

_myTextField.font = [UIFont fontWithName:@"AdelleBasic_Bold" size:15];

有什么建议吗?

【问题讨论】:

【参考方案1】:

这可能不适用于所有字体,但根据我的经验,Xcode 可能很挑剔,而且我从来没有能够让它使用 otf 字体(任何有的人请发帖!),所以我一直使用这个非常棒的网站转换了我的字体 - Online Font Converter

我将它们转换为 ttf 字体,它们似乎总是可以正常工作 - 确保使用准确的名称(更改字体的文件名似乎也会停止工作)。

希望这会有所帮助。

【讨论】:

好的,但现在我有另一个问题。如果我想使用普通字体和粗体字体,我必须同时导入 .ttf,但是当我调用它时,它不起作用,如果两个 .ttf 具有相同的标题但一个是常规的并且其他是粗体。我的意思是:i.stack.imgur.com/rR9Ua.png 您必须将它们视为两种不同的字体 @SergioCalvoGonzález 或者只是循环你的字体familyNames并使用exact name @SomaMan 我有两个不同的 .fft 文件,但一个是粗体的,另一个是常规的,并且两者都有相同的标题,所以当我调用一个时,没有任何反应...... @Mat 如何将两个 .fft 合并为一个系列?【参考方案2】:

以下是将字体添加到 XCODE 应用程序的正确方法(.otf 字体可以正常工作):

    在 XCode 项目中包含字体 确保它们包含在目标中 仔细检查您的字体是否作为资源包含在您的捆绑包中 在您的应用程序列表中包含您的 ios 自定义字体 查找字体名称

感谢和更好的图片解释here

【讨论】:

【参考方案3】:

您只能使用扩展名为 ttf 的第三方字体,而具有 otf 扩展名的字体将无法有效工作,并且大多数情况下都无法使用

【讨论】:

【参考方案4】:

除了保证 5 点,你还可以试试下面的 sn-p 代码打印出安装的字体:

for (NSString* family in [UIFont familyNames])

    NSLog(@"%@", 家庭)
    for (NSString* name in [UIFont fontNamesForFamilyName: family])
    
        NSLog(@" %@", 名称);
    

如果您要使用的字体未列出,那么您错过了 5 个步骤中的一些。

【讨论】:

【参考方案5】:

我只是将字体添加到项目中,检查字体是否会在包中复制。在我的 Mac 上设置它并直接使用 Interface Builder 中的字体。如果你有任何problems solve they here.

【讨论】:

【参考方案6】:

我看过一些关于 tff 和 otf 的 cmets,我不同意,可能是您没有使用正确的字体名称,这并不意味着文件名 要查找您在 xcode 中安装的字体,请运行

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

【讨论】:

以上是关于字体未在 XCode 中加载的主要内容,如果未能解决你的问题,请参考以下文章

属性标题未在 xib 文件的 UIButton 中加载自定义字体

WKWebView 未在 URL 中打开带有梵文字体的 URL

@font-face 未在反应应用程序中加载(故事书)

界面构建器未在 xcode 中加载

无法在 Allegro 中加载字体

在QML中加载不同字体