【问题标题】:Custom fonts in iOS app [duplicate]iOS应用程序中的自定义字体[重复]
【发布时间】:2014-04-22 11:56:27
【问题描述】:

我正在尝试向我的 iOS 应用程序添加新字体。我已按照以下步骤操作:

  • 将我的字体文件添加到我的“res”文件夹中
  • 将我的完整字体名称添加到我的 plist 文件中
  • 添加一个 UILabel 子类,代码如下

代码:

- (id)initWithCoder:(NSCoder*)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (self) {
        [self setFont:[UIFont fontWithName:@"Gotham-Book" size:self.font.pointSize]];
    }
    return self;
}

但是没有显示字体...我尝试使用以下代码显示我的应用程序的所有字体,但 Gotham 没有显示...

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

我不明白为什么它不起作用。所以,如果你能帮助我!

【问题讨论】:

  • 你确定你是用你的initWithCoder:方法创建你的对象吗?也许它是用init 或其他东西创建的,这可能是未设置字体的原因。 :)
  • @Jissay 如果您只是将标签的类设置为您在 IB 中的自定义标签类名称,则会自动调用 initWithCoder。
  • 哦,好吧,我还以为是别的,我学到了一些东西,谢谢!

标签: ios objective-c fonts


【解决方案1】:

你应该在“应用程序提供的字体”下的plist文件中添加字体名称然后(如果不存在请添加)

#define Font_Gotham_Book(s) [UIFont fontWithName:@"Gotham-Book" size:s];

并使用,

lbltest.font = Font_Gotham_Book(15);

【讨论】:

  • -1 不确定这将如何解决任何问题。
  • 最好是最佳实践,但不是问题的答案
【解决方案2】:

希望您已完成以下步骤:

  1. 在您的 Xcode 项目中添加字体作为资源(您已经提到要这样做)
  2. 在plist文件键“应用程序提供的字体”中添加文件名(包括扩展名)
  3. 检查文件是否包含在 Xcode 项目属性中 Build Phases 下的“Copy Bundle Resources”中

如果上述所有操作都完成,那么您犯的错误是字体名称将是“Gotham Book”而不是“Gotham-Book”。代码如下:

-(id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (self) {
        [self setFont:[UIFont fontWithName:@"Gotham Book" size:self.font.pointSize]];

    }
    return self;
}

【讨论】:

  • 该文件不在“复制捆绑资源”中。现在可以了,非常感谢!
  • 很高兴能提供帮助。一个有趣的输入:要找出正确的字体名称,在 Font Book 中打开已安装的字体,选择它并按 cmd+I。字体检查器将显示字体的全名以及许多其他有用信息。
【解决方案3】:

可能重复:

Can I embed a custom font in an iPhone application?

检查 samvermettes 的答案。

确保您使用的是正确的系列名称,这不是字体的名称,而是安装字体时出现的名称,这可以不同。如果你在你的机器上安装字体,你可以在那里检查名称。

【讨论】:

    【解决方案4】:

    您是说您已将字体名称添加到 plist。但是,您需要将文件名添加到 plist,而不是字体名称。希望这会有所帮助。

    【讨论】:

    • 我添加了文件名“Gotham-Bold.ttf”
    猜你喜欢
    • 1970-01-01
    • 2011-11-06
    • 2013-03-28
    • 2014-06-14
    • 2012-03-10
    • 1970-01-01
    • 2011-09-13
    • 2014-10-10
    • 2013-11-01
    相关资源
    最近更新 更多