姬長信(Redy)

iOS 自定义字体设置与系统自带的字体

有时候我们写app的时候不想使用默认的字体,我们会用到UI给我们设计好的字体,或者别的字体,那么我们改如何设置呢.
首先先看一下我自己导入的字体和苹果给我们自带的字体都有哪些吧.
看一下样式

首先说一下.我们如何设置字体的样式呢,我们可以这样设置:

label.font = [UIFont fontWithName:@"Helvetica-Bold" size:17.f]; 

那么我们该如何得到我们想要的字符串呢?
我们可以这样得到所有的字符串

NSArray *familyFonts = [UIFont familyNames];
for (NSString * fontStr in familyFonts) {
    NSArray *fonts = [UIFont fontNamesForFamilyName:fontStr];
    for (NSString *fontStr in fonts) {
        NSLog(@"fontStr =  %@" , fontStr);
    }
  }

然后我们设置我们想要的样式就好了.
如果我们不想要苹果给我们带的字体,我们需要自己的字体,那么我们该如何做呢.

1、准备好ttf的字体包,导入的字体格式可以是ttf、otf、ttc

2、将字体包拖入项目中

加入项目中我们就可以看到如下内容了


3、在info.plist文件中我们需要加入相应的信息,这一步实际上是在项目的Info页里面增加Fonts provided by application项,并设置相应的ttf文件进去,这样就告诉了应用,我要加入新的字体了,对应的字体文件是哪些,视图如下:

4、准备工作我们就做好了,下面就是来使用了,我们需要将我们导入的字体的字符串先打印出来,以便我们可以设置。

5、使用字体

[UIFont fontWithName:@"^cw/EO`W^" size:17];

6、如果我们想要将系统的默认字体改变的化,给UIFont一个分类,重写systemFontOfSize:方法,将我们的字体设置成自己的就可以了。

大概就这些步骤了,如有需要Demo可以下载:https://github.com/zhangyqyx/appFont
希望大家能提出宝贵的意见,可以给我留言,也可以发邮件到我的邮箱:namezyqyx@163.com
谢谢大家,如果你有更好的想法或文章请告知,不胜感激。