1. 程式人生 > >iOS 中如何新增應用自己的字型

iOS 中如何新增應用自己的字型

今天蛋疼,突然想用下漂亮的字型,就稍微用研究了一下這個用法,很簡單,就三步吧

1.第一步找到你想用的字型的 ttf 格式。加入到你的工程的resouce目錄下。


2.在工程的plist中AddRow,“Fonts provided by application” ,然後新增key為item0,value為你剛才加入的testFont.ttf 。

是這樣,可以新增多個,使用的時候寫對應字型名字就行。

3.在你的工程就可以直接用了。xx.font = [UIFont fontWithName:@"testFont" size:20.0];

注意:

在程式中先加入這段程式碼,執行,

 NSArray *familyNames =[[NSArray alloc]initWithArray:[UIFont familyNames]];
    NSArray *fontNames;
    NSInteger indFamily, indFont;
    NSLog(@"[familyNames count]===%d",[familyNames count]);
    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,以上程式會列出所有的字型,當然也包含“Fonts provided by application”所加的字型,但請注意,名字可能差距很大,要自己找一下
例:
      testFont.ttf   , 加入Fonts provided by application
       執行以上程式會列出

2012-10-20 21:56:21.321 MyAnimationTest[5397:c07]  Family name: HAKUYOGuiFanZi3500
2012-10-20 21:56:21.321 MyAnimationTest[5397:c07]     Font name: HAKUYOGuiFanZi3500
2012-10-20 21:56:21.322 MyAnimationTest[5397:c07] Family name: Didot
2012-10-20 21:56:21.322 MyAnimationTest[5397:c07]     Font name: Didot-Italic
2012-10-20 21:56:21.322 MyAnimationTest[5397:c07]     Font name: Didot
2012-10-20 21:56:21.323 MyAnimationTest[5397:c07]     Font name: Didot-Bold
2012-10-20 21:56:21.323 MyAnimationTest[5397:c07] Family name: Bodoni 72 Smallcaps
2012-10-20 21:56:21.323 MyAnimationTest[5397:c07]     Font name: BodoniSvtyTwoSCITCTT-Book
要使用字型的Family name,而不是字型的檔名,弄錯了將無法看到效果。

注意還有一個重要的是: 在“Copy Boundle Resources”中加入剛才新增的字型檔案xxx.ttf ,如下:


最好直接使用就ok了。

效果 :