【问题标题】:Add custom fonts with folder reference使用文件夹参考添加自定义字体
【发布时间】:2015-11-16 06:08:17
【问题描述】:

是否可以从引用的文件夹(蓝色文件夹)添加自定义字体?
通过这样做,我的字体在应用程序中无法识别。我错过了什么...?非常感谢!

编辑: @Simon Degn: 这样也行不通。

我从 Info.plist 中删除了路径:

在我的 PCH 中:

当我启动我的应用程序时,我有 6 个异常上升而没有消息:

为了您的信息,我以前使用未引用的文件夹(黄色),它运行良好。我只想从现在开始切换到引用文件夹模式。如果可以的话。

【问题讨论】:

    标签: ios objective-c xcode uifont


    【解决方案1】:

    不确定是否为时已晚,但您快到了。

    在 info.plist 中指定字体时,将其指定如下是正确的(其中Assets/Font/Averia_Sans_Libre 是文件夹引用前缀)

    Assets/Font/Averia_Sans_Libre/*.ttf
    

    当你加载应用程序时,如果你运行以下命令你可以看到字体是否已经加载:

    NSLog(@"All fonts: %@", [UIFont familyNames].description);
    

    然后要使用字体,请将以下内容与 FONT NAME 一起使用,而不是 FONT FILE NAME(这是您在上面的示例中所做的)。

    [UIFont fontWithName:@"Averia Sans Libre" size:@"15"];
    

    您可以使用 Simon Degn 提供的示例(下)找到字体的名称

    【讨论】:

    • 在我这边尝试为时已晚,但我想这使事情合乎逻辑。
    【解决方案2】:

    是的 - 省略路径。您只需在 plist 中包含文件名。

    运行这个来验证是否包含字体:

    NSArray *fontFamilies = [UIFont familyNames];
    
    for (int i = 0; i < [fontFamilies count]; i++)
    {
        NSString *fontFamily = [fontFamilies objectAtIndex:i];
        NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]];
        NSLog (@"%@: %@", fontFamily, fontNames);
    }
    

    这也将显示字体的名称,当您将使用该字体时,该名称将在代码中使用。

    【讨论】:

      猜你喜欢
      • 2021-05-21
      • 2017-10-21
      • 1970-01-01
      • 2012-03-24
      • 2013-08-11
      • 2010-09-26
      • 1970-01-01
      • 2021-04-03
      • 1970-01-01
      相关资源
      最近更新 更多