2

我正在尝试在我的 iPhone 应用程序中使用自定义字体,但不知何故,它不会加载我完全相信应用程序是我的问题的开始。

我在 xcode 中拖放“My Font.ttf”并使用 UIAppFonts 创建密钥。第一个问题:我猜这两个名称应该完全相同,即我的密钥必须显示确切的文件名,因此扩展名为“.ttf”......?如果大写/小写呢?如果文件名中有空格怎么办...?

然后我用这个:

NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
NSLog(@"Fonts: %@", [UIFont familyNames]);
[familyNames release];

显示所有字体并清楚地看到我的字体不存在....

然后,当我在下面使用它时,没有任何效果(肯定):

lblSol1.font = [UIFont fontWithName:@"My Font" size:32];

(如果我用 Arial 替换,它确实有效,所以我只能认为它与字体的加载有关......)

我知道与 -fontWithName 一起使用的名称可以与文件名不同(实际上是在获取信息窗口中打开时字体“全名”的名称)。无论如何,我现在尝试了所有组合并且无法让它工作......

(我也确实为 iOS 4.o 部署和构建,以确保远离 3.2,以防万一……)

谢谢你的帮助。

干杯,吉比

EDIT1:显示字体的结果(按要求)是:字体:(“Arial 希伯来语”,Zapfino,“Oriya Sangam MN”,Cochin,Baskerville,Palatino,“Chalkboard SE”,“Gurmukhi MN”,Verdana,“Tamil Sangam MN”、“Marker Felt”、“Courier New”、Courier、“Trebuchet MS”、“DB LCD Temp”、“Apple Color Emoji”、“Arial Rounded MT Bold”、“Bangla Sangam MN”、“Telugu Sangam MN ", "美国打字机", Arial, Kailasa, AppleGothic, "Hiragino Kaku Gothic ProN", "Heiti SC", "Malayalam Sangam MN", Thonburi, Helvetica, Noteworthy, "Gujarati Sangam MN", "Heiti K",Futura,“Devanagari Sangam MN”,“Heiti TC”,“Sinhala Sangam MN”,“Kannada Sangam MN”,格鲁吉亚,“Heiti J”,“Times New Roman”,“Snell Roundhand”,“Geeza Pro”,“Helvetica”新”

4

1 回答 1

1

根据这里的文档:UIAppFonts

UIAppFonts (Array - iOS) 指定应通过正常机制提供的任何应用程序提供的字体。数组中的每个项目都是一个字符串,其中包含位于应用程序包中的字体文件(包括文件扩展名)的名称。系统加载指定的字体并在应用程序运行时使它们可供应用程序使用。

iOS 3.2 及更高版本支持此密钥。

所以是的,您需要包含文件扩展名。

于 2011-11-26T23:38:36.980 回答