iOS添加使用自定义字体名字的问题

在iOS下使用自定义字体比较蛋疼的就是名字不知道是什么,大部分字体可以在打开字体册就可以看到,如正常的XXX-Regular,但有时候名字并不是这个,有可能是XXX而已,还有可能是XXXItalic(而不是XXX-Italic)。名字错了,建立的字体肯定是空的。
1.把XXX字体加入到resouce;
2.Info.plist的Fonts provided by application里面加入字体文件名。(testFont.ttf)
3.运行下面代码

NSArray *familyNames = [UIFont familyNames];
for( NSString *familyName in familyNames ){
printf("Family: %s \n", [familyName UTF8String] );
NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName];
for( NSString *fontName in fontNames ){
printf("\tFont: %s \n", [fontName UTF8String] );
}
}

4.找到你的字体Family:XXX,如下,Font:后面的就是我们要的字体名字:

Family: Courier New
Font: CourierNewPSMT
Font: CourierNewPS-BoldMT
Font: CourierNewPS-ItalicMT
Font: CourierNewPS-BoldItalicMT
Family: Oriya Sangam MN
Font: OriyaSangamMN
Font: OriyaSangamMN-Bold

5.使用自己的字体就可以了。

UIFont *font_regular = [UIFont fontWithName:@"CourierNewPS-ItalicMT"size:84];

注意! 我遇到一个坑:不管你字体的名字前后有什么后缀修饰,加入到resource后,系统就会去掉这些修饰,所以我添加的

UIFont *font_regular = [UIFont fontWithName:@"BentonSans-Regular-1"size:84]; 

****是无效的****

你可能感兴趣的:(iOS添加使用自定义字体名字的问题)