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)
把它放在你的应用程序中,调用它,看看你得到了什么.如果在输出中看到一个看起来适合您的字体的名称,请使用它.否则,您可能没有正确地将字体添加到您的应用程序.
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)
可能在步骤之上,建议对您的情况有帮助:
NSG*_*God 49
虽然看起来UIFont
的fontNamed:size:
方法是用您提供的名称相当宽容的,官方fontName
一直是字体的内部PostScript名.字体的PostScript名称不能包含空格,通常用连字符替换它们.我不记得了,但我相信它们也可能只限于31个字符.
确定代码中应该使用的名称非常简单.双击要在iOS设备上使用的字体,在Font Book中打开它.如果尚未安装该字体,请单击出现的示例窗口中的"安装"按钮.安装完成后,在"字体"列表中选择字体.在Font Book的菜单中,选择"预览">"显示字体信息".这将显示有关字体的信息,如下图所示:
正如你所看到的,对于Postscript名称Helvetica Neue LT Std 65 Medium
是HelveticaNeueLTStd-Md
.这是你应该在代码中使用的名称.
在您的Info.plist
文件中,在应用程序的字体下,您需要使用字体本身的实际文件名,无论发生什么情况.在我的情况下,它是HelveticaNeueLTStd-Md.otf
.
更容易获得字体的名称
Full Name
属性并将其用作字体名称它既可以在info .plist文件中使用(添加扩展名),也可以在代码中使用[UIFont fontWithName:<Full Name> size:17]
归档时间: |
|
查看次数: |
50215 次 |
最近记录: |