向iOS应用程序添加自定义字体以查找其真实姓名

Muh*_*mar 40 cocoa-touch objective-c ios

我在我的应用程序中添加了两种字体供使用.

这是字体图像.目前文件名为

name.font       = [UIFont fontWithName:@"Helvetica Neue LT Pro-Medium" size:10];
headline.font   = [UIFont fontWithName:@"Helvetica Neue LT Pro-Light" size:8];
Run Code Online (Sandbox Code Playgroud)

把同一个名字放在Font Avaliable option in plist file.

我也尝试过添加文件名

HelveticaNeueLTPro-Lt
HelveticaNeueLTPro-Md
Run Code Online (Sandbox Code Playgroud)

但似乎没什么用.我怎样才能得到字体的确切名称.

在此输入图像描述

rob*_*off 82

使用+[UIFont familyNames]列出所有已知的系统字体系列名称.对于每个系列名称,您可以使用+[UIFont fontNamesForFamilyName:]它列出系统已知的所有字体名称.尝试打印出来以查看系统所需的名称.示例代码:

static void dumpAllFonts() {
    for (NSString *familyName in [UIFont familyNames]) {
        for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
            NSLog(@"%@", fontName);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

把它放在你的应用程序中,调用它,看看你得到了什么.如果在输出中看到一个看起来适合您的字体的名称,请使用它.否则,您可能没有正确地将字体添加到您的应用程序.

  • 如果你想在UIFont.familyNames()中检查Swift:``for familyName,如果让fn = familyName为?字符串{用于UIFont.fontNamesForFamilyName(fn)中的字体{println("font:\(font)")}}}`` (4认同)

iPa*_*tel 50

这是步骤,如何在应用程序中添加自定义字体.

1 - .TTF在应用程序中添加字体
2 - 修改application-info.plist file.
3 - 将"应用程序提供的字体"键添加到新行
4 - 并将每个.TTF文件(字体)添加到每一行.

另请阅读教程和教程以提高您的知识.

欲获得更多信息 :

但是在为应用程序添加字体后,有时可能是字体名称不是文件名的名称,因此您需要应用/写入字体的真实名称,因此请检查 @ NSGod的答案.

以下是从系统中查找所有字体的代码:

for(NSString *fontfamilyname in [UIFont familyNames])
{
    NSLog(@"Family:'%@'",fontfamilyname);
    for(NSString *fontName in [UIFont fontNamesForFamilyName:fontfamilyname])
    {
        NSLog(@"\tfont:'%@'",fontName);
    }
    NSLog(@"~~~~~~~~");
}
Run Code Online (Sandbox Code Playgroud)

可能在步骤之上,建议对您的情况有帮助:

  • 这些方法都不是公共API的一部分.使用其中任何一个都会使您的应用无法通过审核. (6认同)

NSG*_*God 49

虽然看起来UIFontfontNamed:size:方法是用您提供的名称相当宽容的,官方fontName一直是字体的内部PostScript名.字体的PostScript名称不能包含空格,通常用连字符替换它们.我不记得了,但我相信它们也可能只限于31个字符.

确定代码中应该使用的名称非常简单.双击要在iOS设备上使用的字体,在Font Book中打开它.如果尚未安装该字体,请单击出现的示例窗口中的"安装"按钮.安装完成后,在"字体"列表中选择字体.在Font Book的菜单中,选择"预览">"显示字体信息".这将显示有关字体的信息,如下图所示:

在此输入图像描述

正如你所看到的,对于Postscript名称Helvetica Neue LT Std 65 MediumHelveticaNeueLTStd-Md.这是你应该在代码中使用的名称.

在您的Info.plist文件中,在应用程序的字体下,您需要使用字体本身的实际文件名,无论发生什么情况.在我的情况下,它是HelveticaNeueLTStd-Md.otf.


and*_*tto 9

更容易获得字体的名称

  1. 右键单击.ttf/.otf文件,然后选择"获取信息"
  2. 阅读该Full Name属性并将其用作字体名称

它既可以在info .plist文件中使用(添加扩展名),也可以在代码中使用[UIFont fontWithName:<Full Name> size:17]