【问题标题】:Cant find custom font - iOS找不到自定义字体 - iOS
【发布时间】:2012-02-16 07:27:13
【问题描述】:

我添加了一种自定义字体——我从网上下载的。它是 TTF 格式,可以在我的 mac 上的其他程序上使用。 (成功添加到字体册并用于烟花)。

我已将密钥添加到 info .plist,但字体似乎不起作用。

当我 NSLog 字体为空时,我假设它没有找到它。

TTF 名为 LONDON__.TTF,但名称为 London 字体。

我应该使用什么作为字体并添加到 info.plist 以使其正常工作?

谢谢

应用程序字体资源路径 = LONDON__.TTF

NSLog(@"%@",[UIFont fontWithName:@"London font" size:22]);

NSLog(@"%@",[UIFont fontWithName:@"LONDON__.TTF" size:22]);

它们都返回 Null。

虽然文件名为 LONDON__.TTF,但字体在 Font Book 中显示为所有人。是这个问题吗?

【问题讨论】:

  • 你在Info.plist 里放了什么?

标签: ios iphone fonts


【解决方案1】:

查看所有可用的字体

目标-C:

for(NSString* family in [UIFont familyNames]) {
   NSLog(@"%@", family);
   for(NSString* name in [UIFont fontNamesForFamilyName: family]) {
      NSLog(@"  %@", name);
   }
}

斯威夫特:

for family: String in UIFont.familyNames() {
    print("%@", family)
    for name: String in UIFont.fontNamesForFamilyName(family) {
        print("  %@", name)
    }
}

..如果不存在,请重新安装

  1. .ttf 文件复制到您的项目中(即将其拖到项目导航器中的资源文件夹中)。

  2. 在您的Info.plist 中添加一个带有键Fonts provided by application 的数组类型的条目。作为Item 0,添加一个与字体文件名对应的String值(例如OpenSans-ExtraBoldItalic.ttf)。

  3. 确保字体文件包含在项目设置下的copy bundle resources 列表中。

【讨论】:

  • 感谢它没有出现,所以我认为它没有正确添加。有什么想法吗?
  • 按照 Rob Mayoff 的要求,编辑您的问题以包含 .plist 条目。
  • 您是否将字体文件添加到您的项目中?
  • 我已经用你应该使用的 .plist 键更新了我的答案。
  • 为什么看不到? "应用程序提供的字体"
【解决方案2】:

您需要确保字体文件包含在项目设置下的copy bundle resources 列表中。我的字体不会出现在[UIFont familyNames] 中,直到我在这里添加它,因为它在添加到项目时不会自动包含在内。

【讨论】:

    【解决方案3】:

    这两个名字听起来都不对。假设您已将其正确添加到您的 plist 中,请使用类似

    NSLog(@"Fonts: %@", [UIFont familyNames]);
    

    看看它的内部名称是什么。

    顺便说一句,请确保字体的许可允许嵌入。许多商业字体没有。

    【讨论】:

    • 感谢它没有出现,所以我认为它没有正确添加。有什么想法吗?
    • 所以它在你的 plist 中,比如 UIAppFontsDutch Mediaeval.ttf 和项目的一部分?
    猜你喜欢
    • 2017-10-10
    • 1970-01-01
    • 2012-10-17
    • 2011-11-06
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    相关资源
    最近更新 更多