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];


注意:

在程序中先加入这段代码,运行,

[html]  view plain  copy
  1. NSArray *familyNames =[[NSArray alloc]initWithArray:[UIFont familyNames]];  
  2.    NSArray *fontNames;  
  3.    NSInteger indFamily, indFont;  
  4.    NSLog(@"[familyNames count]===%d",[familyNames count]);  
  5.    for(indFamily=0;indFamily<[familyNames count];++indFamily)  
  6.          
  7. {  
  8.     NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);  
  9.        fontNames =[[NSArray alloc]initWithArray:[UIFont fontNamesForFamilyName:[familyNames objectAtIndex:indFamily]]];  
  10.   
  11.     for(indFont=0; indFont<[fontNames count]; ++indFont)  
  12.              
  13.     {  
  14.         NSLog(@"Font name: %@",[fontNames objectAtIndex:indFont]);  
  15.              
  16.        }  
  17.          
  18.     [fontNames release];  
  19. }  
  20.      
  21. [familyNames release];  


查看console,以上程式会列出所有的字型,当然也包含“Fonts provided by application”所加的字型,但请注意,名字可能差距很大,要自己找一下
例:
      testFont.ttf   , 加入Fonts provided by application
       执行以上程式会列出

[html]  view plain  copy
  1. 2012-10-20 21:56:21.321 MyAnimationTest[5397:c07]  Family name: HAKUYOGuiFanZi3500  
  2. 2012-10-20 21:56:21.321 MyAnimationTest[5397:c07]     Font name: HAKUYOGuiFanZi3500  
  3. 2012-10-20 21:56:21.322 MyAnimationTest[5397:c07] Family name: Didot  
  4. 2012-10-20 21:56:21.322 MyAnimationTest[5397:c07]     Font name: Didot-Italic  
  5. 2012-10-20 21:56:21.322 MyAnimationTest[5397:c07]     Font name: Didot  
  6. 2012-10-20 21:56:21.323 MyAnimationTest[5397:c07]     Font name: Didot-Bold  
  7. 2012-10-20 21:56:21.323 MyAnimationTest[5397:c07] Family name: Bodoni 72 Smallcaps  
  8. 2012-10-20 21:56:21.323 MyAnimationTest[5397:c07]     Font name: BodoniSvtyTwoSCITCTT-Book  
要使用字体的Family name,而不是字体的文件名,弄错了将无法看到效果。

注意还有一个重要的是: 在“Copy Boundle Resources”中加入刚才添加的字体文件xxx.ttf ,如下:


下面是萍方体type,链接下载http://download.csdn.net/detail/u010742414/9416982







原文点击打开链接
1.下载一个 .tff 字体文件,这里有方正兰亭黑为例子

图1

2.在 info.plist文件中告诉系统你想连接导入的字体文件

图2


别告诉我 info.plist 文件不知道在那里。好吧,我也告诉你了,就在上图蓝色的地方,大大的info.plist。


3.至此我们需要测试一下是否已经成功导入 .tff 到系统了,我们就打印一下 Fontfamily 来看看
 for(NSString *fontfamilyname in [UIFont familyNames])
    {
        NSLog(@"family:'%@'",fontfamilyname);
        for(NSString *fontName in [UIFont fontNamesForFamilyName:fontfamilyname])
        {
            NSLog(@"\tfont:'%@'",fontName);
        }
        NSLog(@"-------------");
    }

当然也打印出了许多结果,但是怎么知道究竟哪一个字体才是我们所导入的字体呢?难道直接搜索方正兰亭纤细黑_GBK?
答案当然不是了,我们打开 方正兰亭纤细黑_GBK.tff的所在文件夹,像这样


图3

然后双击我们的方正兰亭纤细黑_GBK.tff文件,能看到弹出了以下的一个字体弹框。


图4


我们很明显的能看到标题为FZLanTingHei-EL-GBK ,没错,这就是我们要找的 fontfamilyname了。

我们在控制台的打印上搜索 FZLanTingHei-EL-GBK 发现如图5


图5


看以看出这个 fontfamilyname 下只有一个字体,就是 FZLTXHK--GBK1-0,这个就是我们想要用的字体了,方正兰亭纤细黑

但是有时候我们不那么顺利,会在 Xcode 的 loger 中找不到对应的字体,例如下面这个字体


image.png

这个字体看上去名称是全中文的,但是在 Xcode 输出中却是没有全中文名称的字体,这个时候,只能通过字体的中文拼音大写去找了,找到如下


image.png

4.设置字体到 UILabel 上
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 400)];
    label.text = @"汉体书写信息技术标准相容档案下载使用界面简单 支援服务升级资讯专业制作创意空间快速无线上网㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩AaBbCc AaBbCc";
    label.numberOfLines = 0;
    UIFont *font = [UIFont fontWithName:@"FZLTXHK--GBK1-0" size:40];
    if (font) {
        label.font = font;
        [self.view addSubview:label];
    }

Command + R 运行程序,看到模拟器上所如下图


屏幕快照 2016-02-23 下午3.36.31.png

至此,我们就成功导入并使用 .ttf 文件了。



作者:星谱
链接:http://www.jianshu.com/p/e29c37639d81
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

1.下载一个 .tff 字体文件,这里有方正兰亭黑为例子

图1

2.在 info.plist文件中告诉系统你想连接导入的字体文件

图2


别告诉我 info.plist 文件不知道在那里。好吧,我也告诉你了,就在上图蓝色的地方,大大的info.plist。


3.至此我们需要测试一下是否已经成功导入 .tff 到系统了,我们就打印一下 Fontfamily 来看看
 for(NSString *fontfamilyname in [UIFont familyNames])
    {
        NSLog(@"family:'%@'",fontfamilyname);
        for(NSString *fontName in [UIFont fontNamesForFamilyName:fontfamilyname])
        {
            NSLog(@"\tfont:'%@'",fontName);
        }
        NSLog(@"-------------");
    }

当然也打印出了许多结果,但是怎么知道究竟哪一个字体才是我们所导入的字体呢?难道直接搜索方正兰亭纤细黑_GBK?
答案当然不是了,我们打开 方正兰亭纤细黑_GBK.tff的所在文件夹,像这样


图3

然后双击我们的方正兰亭纤细黑_GBK.tff文件,能看到弹出了以下的一个字体弹框。


图4


我们很明显的能看到标题为FZLanTingHei-EL-GBK ,没错,这就是我们要找的 fontfamilyname了。

我们在控制台的打印上搜索 FZLanTingHei-EL-GBK 发现如图5


图5


看以看出这个 fontfamilyname 下只有一个字体,就是 FZLTXHK--GBK1-0,这个就是我们想要用的字体了,方正兰亭纤细黑

但是有时候我们不那么顺利,会在 Xcode 的 loger 中找不到对应的字体,例如下面这个字体


image.png

这个字体看上去名称是全中文的,但是在 Xcode 输出中却是没有全中文名称的字体,这个时候,只能通过字体的中文拼音大写去找了,找到如下


image.png

4.设置字体到 UILabel 上
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 400)];
    label.text = @"汉体书写信息技术标准相容档案下载使用界面简单 支援服务升级资讯专业制作创意空间快速无线上网㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩AaBbCc AaBbCc";
    label.numberOfLines = 0;
    UIFont *font = [UIFont fontWithName:@"FZLTXHK--GBK1-0" size:40];
    if (font) {
        label.font = font;
        [self.view addSubview:label];
    }

Command + R 运行程序,看到模拟器上所如下图


屏幕快照 2016-02-23 下午3.36.31.png

至此,我们就成功导入并使用 .ttf 文件了。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值