UIAppFonts自动加载字体?

时间:2011-10-09 15:11:24

标签: iphone true-type-fonts uiappfonts

我正在尝试在我的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一起使用的名称可以与文件名不同(当您在获取信息窗口中打开时,实际上是字体“fullname”的名称)。无论如何,我现在尝试了所有的组合,无法让它工作......

(我也为iOS 4.o进行了部署和构建,以确保在远离3.2的情况下......)

感谢您的帮助。

干杯, geebee

EDIT1:显示字体的结果(如下所示)是: 字体:(     “Arial Hebrew”,     Zapfino,     “Oriya Sangam MN”,     科钦,     巴斯克维尔     帕拉蒂诺,     “黑板SE”,     “Gurmukhi MN”,     宋体,     “Tamil Sangam MN”,     “Marker Felt”,     “Courier New”,     信使,     “Trebuchet MS”,     “DB LCD Temp”,     “Apple Color Emoji”,     “Arial Rounded MT Bold”,     “Bangla Sangam MN”,     “Telugu Sangam MN”,     “美国打字机”,     宋体,     凯拉萨,     AppleGothic,     “Hiragino Kaku Gothic ProN”,     “Heiti SC”,     “Malayalam Sangam MN”,     吞武里,     黑体,     值得注意的是,     “Gujarati Sangam MN”,     “Heiti K”,     富利     “Devanagari Sangam MN”,     “Heiti TC”,     “Sinhala Sangam MN”,     “Kannada Sangam MN”,     格鲁吉亚,     “Heiti J”,     “英语字体格式一种”,     “Snell Roundhand”,     “Geeza Pro”,     “Helvetica Neue”

1 个答案:

答案 0 :(得分:1)

根据此处的文件:UIAppFonts

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

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

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