iOS在应用中添加自定义字体

iOS在应用中添加自定义字体

一、在应用中添加自定义字体的步骤

1、网上提供的字体库有很多,下载完成后,将其导入工程中,一般为ttf格式。

2、注意Build Phases中的Copy Bundle Resources中是否导入了文件:

3、在项目的info.plist文件中添加字体键值如下:

这个数组中可以添加多个元素,多个字体库。

4、这时实际上我们已经将字体添加进了工程中,但是在在使用这个字体时,字体的名字有时和文件名是不一样的,我们需要知道真实的字体名称,通常情况下,我们会讲所有字体名称打印出来:

?


1

2

3

4

5

    for (NSString * name in [UIFont familyNames]) {

        for (NSString * fo in [UIFont fontNamesForFamilyName:name]) {

           NSLog(@"%@",fo);

        }

    }

5、找到我们需要的字体,如下使用即可:

?


1

 UIFont * font = [UIFont fontWithName:@"yuweij" size:14];

二、如何快速的找到新添加的字体名字

        如果你将所有字体都打印了出来,在其中找到新的字体名称是身份困难的,尤其是当这个字体的名称和文件名相差甚远的时候,这是一件非常痛苦的事情。

        为了在以后使用自定义字体的时候不必一次一次的经历这样的痛苦,在Xcode6.3的环境下,我将所有的系统字体获取后写入了plist文件,将这个plist文件导入项目中,通过如下方法,可以只打印出新增加的字体:

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

    NSString *paths=[[NSBundle mainBundle]pathForResource:@"font" ofType:@"plist"];

    //得到完整的文件名

    NSDictionary * rootDic = [NSDictionary dictionaryWithContentsOfFile:paths];

    //遍历当前所有字体

    for (NSString * name in [UIFont familyNames]) {

        NSArray * fontArray = [rootDic objectForKey:name];

        BOOL tip = NO;

        for (NSString * fo in [UIFont fontNamesForFamilyName:name]) {

            for (NSString * tmp in fontArray) {

                if ([tmp isEqualToString:fo]) {

                    tip=YES;

                    break;

                }

            }

            if (!tip) {

                NSLog(@"%@",fo);

            }

        }

    }

如果你也需要,字体集plist文件的地址:https://github.com/ZYHshao/YHBaseFoundationTest/tree/master/YHBase/BaseSouce

时间: 2024-10-29 06:09:41

iOS在应用中添加自定义字体的相关文章

IOS 添加自定义字体方法详解_IOS

1:获取字体文件 从各种渠道下载字体文件ttf, 网站或者从别的ipa里扣出来.(以fzltxh.ttf为例) 2:将fzltxh.ttf文件拷贝到工程中 3:在Info.plist中添加项: Fonts provided by application(UIAppFonts)  可以添加一个或多个item, 如 item0 --  fzltxh.ttf 4:找出真正的字体名称: 因为使用字体时, 要使用字体的真实名称, 而不是文件名, 可以用以下代码来遍历当前设备可用的字体名称, 再从中找出刚才

iOS文本布局探讨之二——关于TextKit框架中的字体描述

一.引言         UIFont是iOS开发中处理文本字体的类,关于UIFont的相关内容,以前的一篇博客有详细介绍,本片博客主要介绍关于动态字体的应用与字体描述类NSFontDescriptor的应用. UIFont应用介绍:http://my.oschina.net/u/2340880/blog/397115. 二.iOS系统中的动态字体         所谓动态字体,是指在应用使用中,用户可以动态调整字体的风格字号等.在iOS7及之后的iOS系统版本,TextKit框架中提供了一个新

在UIWebView中添加自定义编辑菜单

如何在UIWebView中添加自定义的编辑菜单困扰了很久.没想到意外的简单! 现在很多的内容提供类应用中,长按内容页会选中按的单词并且显示一个编辑菜单.如图:   独乐乐不如众乐乐.一篇好文章是需要大家一起欣赏的.一篇八卦文也是需要大家一起八卦的. TabBar的一个分享按钮毕竟没法把这篇文章的亮点附带上.所以让用户通过长按,然后可以选择需要 分享的内容.最后再在弹出的菜单中选择"分享"去分享给好友.这样用户可以把打动他,的一句话分享出去. 用户选择的这句话不一定是文章的什么重点啊,中

网站BANNER设计中 中英文字体的结构分析

本来想写"Advertisemen中的字体结构分析",后来发现这个标题写得有点大,偏离了在目前工作中的针对性,因此缩小到banner的范围,以下内容仅个人在目前工作中对banner设计上的一点浅见,仅起抛砖引玉的作用. Banner的传达方式 [TOPIC] 针对网站中的banner Banner的本身形状:形状决定了其固定的构成方式,一般为矩形,横幅,左右结构和居中; Banner的文字特点:主题式,一般分为主标题和副标题,文字较多;设计的时候还需要考虑应用到网站各种尺寸推广图的可读

Word2013文档中设置字体大小的4种方法

  为Word2013文档中的文本设置字体大小是最常用的Word设置之一,用户可以通过以下4种方法设置Word2013文档中的字体大小: 方式1:选中需要改变字体大小的文本块,然后在"开始"功能区的"字体"分组中单击"字号"下拉三角按钮,在字号下拉列表中选择合适的字体大小,如图2013073003所示. 图2013073003 选择字体大小 方式2:选中需要改变字体大小的文本块,在"开始"功能区的"字体"分

ios-安卓和IOS有没有中文文档呢,我英文不好?

问题描述 安卓和IOS有没有中文文档呢,我英文不好? 安卓和IOS有没有中文文档?我英文不太好,看不懂英文的,有没有全中文的,不经简单翻译的 解决方案 下个有道词典,直接屏幕取词,没人能每个单词都会,主要要耐心看 解决方案二: 哈皮还是看英文的吧,看看就明白了 解决方案三: 看的多了就明白了,英语差不多的话,就能发现不会的就那么几个关键的词 解决方案四: 这个必须自己适应吧,毕竟各大技术网站还是英文的居多,API也是英文的,一点点积累吧 解决方案五: 一开始都会有这样的烦恼,那么多英文想想都头疼

详解CSS网页布局中默认字体样式

核心提示:浏览器默认的样式往往在不同的浏览器.不同的语言版本甚至不同的系统版本都有不同的设置,这就导致如 果直接利用默认样式的页面在各个浏览器下显示非常不一致,于是就有了类似YUI的reset之类用来尽量重写浏览器的默认设置保证各个浏览器样式一致性的做法. 浏览器默认的样式往往在不同的浏览器.不同的语言版本甚至不同的系统版本都有不同的设置,这就导致如 果直接利用默认样式的页面在各个浏览器下显示非常不一致,于是就有了类似YUI的reset之类用来尽量重写浏览器的默认设置保证各个浏览器样式一致性的做

Banner广告条中的字体设计

导读:由于banner一般用于专题类网站,在门户网站的二级页面,用户进来之前,在首页已经对主题有一定的了解和认识,所以banner的作用是在二级页面中起到包装页面的同时增加内容的趣味度和内容方向引导:所以这也是和传统广告中普遍要求第一感官视觉冲击力来强奸眼球所不同的地方 本来想写"Advertisemen中的字体结构分析",后来发现这个标题写得有点大,偏离了在目前工作中的针对性,因此缩小到banner的范围,以下内容仅个人在目前工作中对banner设计上的一点浅见,仅起抛砖引玉的作用.

入门:HTML设计网页中的字体的问题

设计|网页|问题 你可能正建立自己在网上的家-WEB页,又或者它已经被你安置在网络某一角里.无论出于什么目的,你都希望有更多的指导,告诉你该如何更好的布置家. 在目前许多的指导中,他们都在诉说,应该加一点声音或者一个说话的场地.的确我们都需要它,但我希望关心更多WEB家里底层的东西,比如如何把字体弄的漂亮些,或者让页面颜色变的活泼些,让访问者增加"看欲",还有更多你曾经都没有关注的细微之处.今天,我们首先来探讨页面的字体. 一.HTML中定义字体 字体的确是很好打交道的,一开始制作页面