忙忙忙!!!好久没写博客了,前段时间实在是每天满满的,回去了累了也不想写了,只是躺床上看一会东西。最近公司要在5月份举办个大型的发布会,所以在这之前要把版本稳定,界面提升,所以有很多细活要干。
不过,趁前两天版本刚提交上线,这两天稍微闲一点,就把之前说的利用runtime
一键改变字体的方法分享出来。有人会说,改变字体不是很简单吗,我直接找到字体名替换一下不就好了?客官不要急,先坐下来吃点瓜子,听我慢慢给你说来。
1、准备
我们新建一个项目名叫ChangeFont
,然后我就随便找了个名叫loveway.ttf
的字体库拖进去,里面的工程目录大概就是这样的
现在我们就简单的直接在storyboard
上拖了一个label
一个button
,约束好,像这样
嗯,就这样,很简单,运行
好的显示正常,没什么问题,接下来改变字体。
2、改变字体
我们之前已经把loveway.ttf
这个文件拖进去了,现在在plist
文件里面配置一下。打开plist
然后加入名为Fonts provided by application
的一行,在item
里把我们的字体名字加进去
最后我们需要保证我们确确实实是加进来了
这个时候也许你已经迫不及待了,赶紧改字体,如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
// // ViewController.m // ChangeFont // // Created by HenryCheng on 16/4/27. // Copyright © 2016年 HenryCheng. All rights reserved. // #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UILabel *myLabel; @property (weak, nonatomic) IBOutlet UIButton *myButton; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; _myLabel.font = [UIFont fontWithName:@"loveway.ttf" size:17.0f]; _myButton.titleLabel.font = [UIFont fontWithName:@"loveway" size:17.0f]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end |
运行。。。oh no !怎么没变,还是原来的样子
肯定是姿势不对,于是百度了一下(虽然我一般都用谷歌),的确这种方法不对
于是改变思路,先找出字体的名字,Like this,代码改成这样
1 2 3 4 5 6 7 8 9 10 11 12 13 |
- (void)viewDidLoad { [super viewDidLoad]; for(NSString *familyName in [UIFont familyNames]){ NSLog(@"Font FamilyName = %@",familyName); //*输出字体族科名字 for(NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) { NSLog(@"t%@",fontName); //*输出字体族科下字样名字 } } _myLabel.font = [UIFont fontWithName:@"loveway.ttf" size:17.0f]; _myButton.titleLabel.font = [UIFont fontWithName:@"loveway" size:17.0f]; } |
运行一看控制台
这什么鬼,我哪知道我刚加进去的字体名称是什么,这咋找
于是想出来个办法,再建一个工程,不加入loveway.ttf
这个字体,打印出来,一个个对比,多的那个不就是了吗!bingo,于是花了一会功夫终于找出来了,是FZLBJW--GB1-0
,不管了,先试试看行不行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
![](http://upload-images.jianshu.io/upload_images/571495-b0d97825e5d33a8a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) - (void)viewDidLoad { [super viewDidLoad]; /* for(NSString *familyName in [UIFont familyNames]){ NSLog(@"Font FamilyName = %@",familyName); //输出字体族科名字 for(NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) { NSLog(@"t%@",fontName); //输出字体族科下字样名字 } } */ _myLabel.font = [UIFont fontWithName:@"FZLBJW--GB1-0" size:17.0f]; _myButton.titleLabel.font = [UIFont fontWithName:@"FZLBJW--GB1-0" size:17.0f]; } |
运行,结果如下
OK!达到效果了,虽然有点挫,但是效果达到了,还不错
到这里,基本的改变字体效果已达到。
3、查找字体的一种简单的方法
在上面我们可以看到,通过对比的方法找到了FZLBJW--GB1-0
这个名字,这里,有一种简单的方法,
我们在 Finder 里面找到这个ttf
,双击打开(在Xcode
里面双击打开没效果),这时候系统就会用苹果自带的字体册打开,如下
.rtf
这样我们就可以看到了这个字体的族科名字,我们看到的是FZLiBian-S02S
,于是我们在刚才输出全部字体名的控制台搜索一下这个族科名,就可以知道具体的字体名了
FZLiBian-S: center">使用字体册打开.rtf
这样我们就可以看到了这个字体的族科名字,我们看到的是FZLiBian-S02S
,于是我们在刚才输出全部字体名的控制台搜索一下这个族科名,就可以知道具体的字体名了
FZLiBian-S 29fc83707fe94a55dd7a.jpg">
不过,趁前两天版本刚提交上线,这两天稍微闲一点,就把之前说的利用runtime
一键改变字体的方法分享出来。有人会说,改变字体不是很简单吗,我直接找到字体名替换一下不就好了?客官不要急,先坐下来吃点瓜子,听我慢慢给你说来。
1、准备
我们新建一个项目名叫ChangeFont
,然后我就随便找了个名叫loveway.ttf
的字体库拖进去,里面的工程目录大概就是这样的
现在我们就简单的直接在storyboard
上拖了一个label
一个button
,约束好,像这样
嗯,就这样,很简单,运行
好的显示正常,没什么问题,接下来改变字体。
2、改变字体
我们之前已经把loveway.ttf
这个文件拖进去了,现在在plist
文件里面配置一下。打开plist
然后加入名为Fonts provided by application
的一行,在item
里把我们的字体名字加进去
最后我们需要保证我们确确实实是加进来了
这个时候也许你已经迫不及待了,赶紧改字体,如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
// // ViewController.m // ChangeFont // // Created by HenryCheng on 16/4/27. // Copyright © 2016年 HenryCheng. All rights reserved. // #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UILabel *myLabel; @property (weak, nonatomic) IBOutlet UIButton *myButton; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; _myLabel.font = [UIFont fontWithName:@"loveway.ttf" size:17.0f]; _myButton.titleLabel.font = [UIFont fontWithName:@"loveway" size:17.0f]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end |
运行。。。oh no !怎么没变,还是原来的样子
肯定是姿势不对,于是百度了一下(虽然我一般都用谷歌),的确这种方法不对
于是改变思路,先找出字体的名字,Like this,代码改成这样
1 2 3 4 5 6 7 8 9 10 11 12 13 |
- (void)viewDidLoad { [super viewDidLoad]; for(NSString *familyName in [UIFont familyNames]){ NSLog(@"Font FamilyName = %@",familyName); //*输出字体族科名字 for(NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) { NSLog(@"t%@",fontName); //*输出字体族科下字样名字 } } _myLabel.font = [UIFont fontWithName:@"loveway.ttf" size:17.0f]; _myButton.titleLabel.font = [UIFont fontWithName:@"loveway" size:17.0f]; } |
运行一看控制台
这什么鬼,我哪知道我刚加进去的字体名称是什么,这咋找
于是想出来个办法,再建一个工程,不加入loveway.ttf
这个字体,打印出来,一个个对比,多的那个不就是了吗!bingo,于是花了一会功夫终于找出来了,是FZLBJW--GB1-0
,不管了,先试试看行不行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
![](http://upload-images.jianshu.io/upload_images/571495-b0d97825e5d33a8a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) - (void)viewDidLoad { [super viewDidLoad]; /* for(NSString *familyName in [UIFont familyNames]){ NSLog(@"Font FamilyName = %@",familyName); //输出字体族科名字 for(NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) { NSLog(@"t%@",fontName); //输出字体族科下字样名字 } } */ _myLabel.font = [UIFont fontWithName:@"FZLBJW--GB1-0" size:17.0f]; _myButton.titleLabel.font = [UIFont fontWithName:@"FZLBJW--GB1-0" size:17.0f]; } |
运行,结果如下
OK!达到效果了,虽然有点挫,但是效果达到了,还不错
到这里,基本的改变字体效果已达到。
3、查找字体的一种简单的方法
在上面我们可以看到,通过对比的方法找到了FZLBJW--GB1-0
这个名字,这里,有一种简单的方法,
我们在 Finder 里面找到这个ttf
,双击打开(在Xcode
里面双击打开没效果),这时候系统就会用苹果自带的字体册打开,如下