一、添加自定义字体:
因为系统自带字体的局限性,有时候我们在开发中需要添加一些特殊要求的自定义字体。
首先我们先要去网上下载我们所需要的自定义字体,后缀名是 otf 的。
![iOS Label的几种样式,看完就会用](https://i-blog.csdnimg.cn/blog_migrate/1ab6a94c610562cd31881d1bb019a438.jpeg)
下载字体
下载好之后,把这个 otf 文件直接拖进工程当中。
![iOS Label的几种样式,看完就会用](https://i-blog.csdnimg.cn/blog_migrate/5ac872304b8a13901f135f8ae9109848.jpeg)
添加 otf 文件
点击这个 otf 文件,可以看到字体是什么样的(如上图右边所示)。
接着,我们需要配置好 Info.plist 文件,添加 Fonts provided by application 字段,类型为 Array,下面是我们需要添加的字体名。
![iOS Label的几种样式,看完就会用](https://i-blog.csdnimg.cn/blog_migrate/fdf926040c4abed59093a7871f932b05.jpeg)
配置 Info.plist 文件
做完这些,我们可以查看一下,是否现在系统中已经添加了我们拖进来的字体,打印所有字体看一下。
![iOS Label的几种样式,看完就会用](https://i-blog.csdnimg.cn/blog_migrate/b665bef3eb7756ba898540eeacaeecad.jpeg)
打印所有字体
OK,确认已经成功,那现在我们就可以使用这个自定义的字体了。
// 自定义字体
label.font = [UIFont fontWithName:@"Fh_Scribble" size:18];
效果如下:
![iOS Label的几种样式,看完就会用](https://i-blog.csdnimg.cn/blog_migrate/e8392032f269e09648b99e298a444251.jpeg)
自定义字体
二、部分字体改变颜色或 Font
1、改变颜色
![iOS Label的几种样式,看完就会用](https://i-blog.csdnimg.cn/blog_migrate/d8cdbfdeb9029a0f77be7fe7f687329c.jpeg)
改变颜色
2、改变 Font
这两个基本一样,就是改一下里面的字段名就可以了。
![iOS Label的几种样式,看完就会用](https://i-blog.csdnimg.cn/blog_migrate/becac639f865079c2d0be6ea561bff32.jpeg)
改变 Font
可以看一下展示效果:
![iOS Label的几种样式,看完就会用](https://i-blog.csdnimg.cn/blog_migrate/8ea11333db642f1a8bb171cd19f07458.jpeg)
部分字体改变颜色或 Font
三、左右两端对齐
一般像我们平时要么是左对齐,要么是右对齐,或者是居中,但是如果是展示的是英文的话,会因为单词的长短,导致自动换行,后面经常会长短不一,影响 UI 美观。
虽然我们设置的时候有这个属性 label2.textAlignment = NSTextAlignmentJustified;
但是当我们设置完会发现没效果。
如果需要设置左右两端对齐,需要这样:
![iOS Label的几种样式,看完就会用](https://i-blog.csdnimg.cn/blog_migrate/f8d635da3b0f2bfea1a21fb4756dd998.jpeg)
设置左右两端对齐
方便大家,附上代码:
NSMutableAttributedString *changeColorString1 =[[NSMutableAttributedString alloc]initWithString:label2.text];
NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init];
style.alignment = NSTextAlignmentJustified; // 对齐方式, 设置为两端对齐。
style.paragraphSpacing = 0; // 段落后的间距
style.paragraphSpacingBefore = 0; // 段落前的间距
style.firstLineHeadIndent = 0; // 段落第一句缩进
style.headIndent = 0; // 头部缩进(不包括段落第一句)
NSDictionary *styleDic = @{NSForegroundColorAttributeName : [UIColor blackColor],
NSFontAttributeName : label2.font,
NSParagraphStyleAttributeName : style,
NSUnderlineStyleAttributeName : [NSNumber numberWithInt:NSUnderlineStyleNone]};
[changeColorString1 setAttributes:styleDic range:NSMakeRange(0, label.text.length)];
label2.attributedText=changeColorString1;
可以比较一下效果:
![iOS Label的几种样式,看完就会用](https://i-blog.csdnimg.cn/blog_migrate/7927852841b75128289527a2be36e45a.jpeg)