在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];
****是無效的****