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: