我可以在iPhone应用程序中嵌入自定义字体吗?

流过昼夜 提交于 2019-12-20 13:48:30

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

我想要一个包含自定义字体的应用程序,用于呈现文本,加载文本,然后将其与UILabel等标准UIKit元素一起使用。 这可能吗?


#1楼

我已将本页上的一些建议合并为适用于iOS 5的内容。

首先,您必须将自定义字体添加到您的项目。 然后,您需要遵循@iPhoneDev的建议,并将字体添加到info.plist文件中。

完成此操作后,它将起作用:

UIFont *yourCustomFont = [UIFont fontWithName:@"YOUR-CUSTOM-FONT-POSTSCRIPT-NAME" size:14.0];
[yourUILabel setFont:yourCustomFont];

但是,您需要知道字体的Postscript名称。 在FontBook中时,只需遵循@Daniel Wood的建议并按Command-i。

然后,享受您的自定义字体。


#2楼

首先将.odt格式的字体添加到您的资源中,在这种情况下,我们将使用DINEngschriftStd.otf,然后使用此代码将字体分配给标签

[theUILabel setFont:[UIFont fontWithName:@"DINEngschriftStd" size:21]];

要确保您的字体已加载到项目中,只需调用

NSLog(@"Available Font Families: %@", [UIFont familyNames]);

在.plist上,您必须声明字体。 只需添加“应用程序提供的字体”记录并添加带有字体名称的项目0字符串(DINEngschriftStd.otf)


#3楼

在Info.plist中,添加条目“应用程序提供的字体”,并将字体名称包含为字符串:

Fonts provided by application
           Item 0        myfontname.ttf
           Item 1        myfontname-bold.ttf
           ...

然后运行以下命令来检查字体是否包含在内:

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

请注意,您的ttf文件名可能与设置标签字体时使用的名称不同(可以使用上面的代码获取“ fontWithName”参数):

[label setFont:[UIFont fontWithName:@"MyFontName-Regular" size:18]];

#4楼

您可以在资源文件夹中添加所需的“ FONT”文件。 然后转到Project Info.plist文件,并使用“应用程序提供的字体”键和值作为“字体名称”。

然后,您可以调用方法[UIFont fontwithName:@"FONT NAME" size:12];


#5楼

我使一切成为可能,但是新字体没有出现,所以我找到了解决方案:

当您拖动fot文件(otf或ttf)时,不要忘记选中“添加到目标”下的复选框。

完成后,您的字体将出现,并且一切正常。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!