iOS添加自定义自体 [UIFont fontWithName: size:]


1.添加对应的自体文件(.ttf或.otf等)到工程目录下,比如:SIMKAI.TTF

2.在-info.plist文件中添加一项Fonts provided by application,item0对应的value为SIMKAI.TTF,多个自体依次添加即可。

3.使用 [UIFont fontWithName: size:]来设置自体,fontWithName的参数不一定是SIMKAI,这个字体名字需要别的方法去查

查字体名字方法如下:

  1. for(NSString *familyName in [UIFont familyNames])  
  2. {     
  3.     NSLog(@"familyName = %@", familyName);  
  4.       
  5.     for(NSString *fontName in [UIFont fontNamesForFamilyName:familyName])  
  6.     {     
  7.         NSLog(@"\tfontName = %@", fontName);  
  8.     }  
  9. }  
在上面第2步添加前和添加后的情况下分别执行如上代码,把控制台打印出的信息分别做记录。

控制台打印信息示例:

  1. 2012-08-08 14:27:56.150[1821:c07] familyName = Thonburi  
  2. 2012-08-08 14:27:56.153[1821:c07]   fontName = Thonburi-Bold  
  3. 2012-08-08 14:27:56.154[1821:c07]   fontName = Thonburi  
  4. 2012-08-08 14:27:56.154[1821:c07] familyName = Snell Roundhand  
  5. 2012-08-08 14:27:56.154[1821:c07]   fontName = SnellRoundhand-Bold  
  6. 2012-08-08 14:27:56.155[1821:c07]   fontName = SnellRoundhand-Black  
  7. 2012-08-08 14:27:56.155[1821:c07]   fontName = SnellRoundhand  
  8. 2012-08-08 14:27:56.156[1821:c07] familyName = Academy Engraved LET  
  9. 2012-08-08 14:27:56.156[1821:c07]   fontName = AcademyEngravedLetPlain  
  10. 2012-08-08 14:27:56.157[1821:c07] familyName = Marker Felt  
  11. 2012-08-08 14:27:56.157[1821:c07]   fontName = MarkerFelt-Wide  
  12. 2012-08-08 14:27:56.158[1821:c07]   fontName = MarkerFelt-Thin  
  13. 2012-08-08 14:27:56.158[1821:c07] familyName = Geeza Pro  
  14. 2012-08-08 14:27:56.159[1821:c07]   fontName = GeezaPro-Bold  
  15. 2012-08-08 14:27:56.159[1821:c07]   fontName = GeezaPro  
  16. 2012-08-08 14:27:56.182[1821:c07] familyName = Arial Rounded MT Bold  
  17. 2012-08-08 14:27:56.183[1821:c07]   fontName = ArialRoundedMTBold  
  18. 2012-08-08 14:27:56.183[1821:c07] familyName = Trebuchet MS  
  19. 2012-08-08 14:27:56.184[1821:c07]   fontName = TrebuchetMS  
  20. 2012-08-08 14:27:56.184[1821:c07]   fontName = TrebuchetMS-Bold  

用比较文件的方法找出2次从控制台打印出的信息的不同内容,这些不同的内容就是新添加进去的字体的名字。

从而可以看出,新添加进去的自体的名字就是 KaiTi_GB2312

设置自体的时候就应该如下操作:

  1. [UIFont fontWithName:@"KaiTi_GB2312" size:20.0]  

相关内容