IOS添加自訂字型
準備:
字型檔(.ttf,.odf)
方法1:
添加對應的字型(.ttf或.odf)到工程的resurce,使用cocos2d中的FontLabel庫,FontLabel繼承於UILabel,象UILabel一樣使用就好了
fontName直接使用添加的資源名字即可
方法2:
1.添加對應的字型(.ttf或.odf)到工程的resurce,例如my.ttf
2.在info.plist中添加一項 Fonts provided by application (item0對應的value為my.ttf,添加多個字型依次添加就可以了)
3.使用時 aLabel.font=[UIFont fontWithName:@"XXX" size:30]; 注意XXX不一定是my,這裡是RETURN TO CASTLE,
// Family name: RETURN TO CASTLE
// Font name: RETURNTOCASTLE
//雙擊,Mac下視窗的標題列有字型的Family name,Windows下能顯示Family name和Font name,下面這句用Family name和Font name都可以
self.labelTest1.font = [UIFont fontWithName:@"RETURN TO CASTLE" size:30];
你也可以通過下面的方法遍曆所有字型:
以下是程式碼片段:
//笨辦法:把字型都列印出來,找非系統字型。。。(很無語的方法)
NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
NSArray *fontNames;
NSInteger indFamily, indFont;
for(indFamily=0;indFamily<[familyNames count];++indFamily)
{
NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
fontNames =[[NSArray alloc]initWithArray:[UIFont fontNamesForFamilyName:[familyNames objectAtIndex:indFamily]]];
for(indFont=0; indFont<[fontNames count]; ++indFont)
{
NSLog(@" Font name: %@",[fontNames objectAtIndex:indFont]);
}
[fontNames release];
}
[familyNames release];
在程式中先加入這段代碼,運行,查看console,以上程式會列出所有的字型,當然也包含UIAPPFonts所加的字型,但請注意,名字可能差距很大,要自己找一下,不是字型的檔案名稱,弄錯了將無法看到效果。