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。

1 //    Family name: RETURN TO CASTLE
2 //    Font name: RETURNTOCASTLE
3 //    双击,Mac下窗口的标题栏有字体的Family name,Windows下能显示Family name和Font name,下面这句用Family name和Font name都可以
4 self.labelTest1.font = [UIFont fontWithName:@"RETURN TO CASTLE" size:30];

    你也可以通过下面的方法遍历所有字体,以下是代码片段:

 1 //    笨办法:把字体都打印出来,找非系统字体。。。(很无语的方法)
 2 NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
 3 NSArray *fontNames;
 4 NSInteger indFamily, indFont;
 5 for(indFamily=0;indFamily<[familyNames count];++indFamily)
 6 {
 7 NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
 8 fontNames =[[NSArray alloc]initWithArray:[UIFont fontNamesForFamilyName:[familyNames objectAtIndex:indFamily]]];
 9 for(indFont=0; indFont<[fontNames count]; ++indFont)
10 {
11 NSLog(@" Font name: %@",[fontNames objectAtIndex:indFont]);
12 }
13 [fontNames release];
14 }
15 [familyNames release];

在程序中先加入这段代码,运行,查看console,以上程式会列出所有的字型,当然也包含UIAPPFonts所加的字型。但请注意,名字可能差距很大,要自己找一下,不是字体的文件名,弄错了将无法看到效果。

posted @ 2012-06-27 16:50  appcode  阅读(281)  评论(0)    收藏  举报