官方企业官网
字体创意

iOS开发基础:自定义UILabel

2025-11-29 09:21:12 溪石iOS 75 人阅读
iOS开发基础:自定义UILabel


题图:最终的效果图


UILabel是一种文本视图,支持显示一行或多行的只读文本,算是大家的常用视图类,不过虽然用得多,同样的效果,用了很多不同方法,时间久了,难免有些混淆疑惑,本篇从以下几个方面做一个归纳总结:

自定义字体

制作不规则的边框

显示不同字体和颜色

调整缩进与行距

如本文题图这样的标题,就是使用以上四步编码出来的,下面将逐步介绍实现它。

1.自定义字体

iOS9系统里,系统默认的中文字体是“苹方”,虽然是很优雅的中文字体,不过爱天马行空的UI设计美眉一定不会满足,总是爱找“最美”的字体来搭配她们的设计,iOS系统中往往没有这些字体,这时候怎么办呢?

步骤一:找到UI效果图中的字体文件

字体文件术语称为矢量字库,一般是以TTF结尾的,你可以请教UI设计美眉:“请问,你这幅效果图某某位置用的是什么字体呀?”(多好的搭讪机会),比如本文题图中“自定义”三个字用的是“方正正纤黑”这款字体,这时有经验的设计美眉一定会把TTF文件传给你,这里假设就是方正正纤黑.TTF,双击该文件用字体册查看,记录下显示的字体名称FZZhengHeiS-EL-GB,后面会用到。

查看字体名称

步骤二:将TTF文件导入Xcode工程

拖入TTF文件

注意接下来的导入选项,特别Addtotargets千万不能漏选,否则后面的将导致后面的步骤失败:

导入文件选项

步骤三:在plist文件中添加配置

配置plist文件

添加Fontsprovidedbyapplication,点击Item0的Value栏,填入方正正纤黑.TTF,注意这里的名字与步骤二导入的TTF文件的文件名一致。

步骤四:查看系统加载的字体

在任意m文件,运行以下代码:

//获取系统字体名称:for(NSString*fontfamilynamein[UIFontfamilyNames]){NSLog(@"family:'%@'",fontfamilyname);for(NSString*fontNamein[UIFontfontNamesForFamilyName:fontfamilyname]){NSLog(@"\\tfont:'%@'",fontName);

}NSLog(@"-------------");

}

这段代码遍历了当前iOS系统安装的全部字体,在输出控制台查找(快捷键⌘F)步骤一最后查出的字体名称FZZhengHeiS-EL-GB,复制font:后面的FZZXHJW--GB1-0,这才是最后我们要用的字体名称。

步骤五:使用导入的字体

UILabel*aLabel=[[UILabelalloc]initWithFrame:CGRectMake(0.0,0.0,w,h)];

[:aLabel];

=@"自定义UILabel";

=NSTextAlignmentCenter;//设置文字对齐方式为居中=[UIColorwhiteColor];//设置文字颜色为白色=[UIFontfontWithName:@"FZZXHJW--GB1-0"size:25];

这样我们就初步使用了自定义的字体代替了系统默认字体。

使用自定义字体最终效果

2.制作不规则的边框

3.显示不同字体和颜色

4.调整缩进与行距

ps: