UIlabel各种字体各种颜色拼接

如题,有时候我们会有一种需求,在一个Label上面展示不同的字体,比如这样“欢迎汪小喵加入简书”。中间的汪小喵就是加粗斜体的,要求在一个Label里面显示哦。(每段字长度不固定哦!)

当然可以写三个Label排在一起,但是写三个会很累的啊,我这个人又这么懒。

所以,这时候  NSAttributedString   就派上用场了。

NSAttributedString  还有个兄弟  NSMutableAttributedString,

然后这个兄弟还代了个方法  appendAttributedString:

然后就厉害了,可以开始搞事情了。

NSMutableAttributedString*welcome = [[NSMutableAttributedString alloc]initWithString:@""attributes:@{NSForegroundColorAttributeName:[UIColor blackColor],NSFontAttributeName:[UIFont systemFontOfSize:20]}];

先创建一个可变的AttributedString,然后后面的字一个个的创建不可变的AttributedString,像这样:

NSAttributedString*name = [[NSAttributedString alloc]initWithString:@"汪小喵"attributes:@{NSForegroundColorAttributeName:[UIColor redColor],NSFontAttributeName:[UIFont fontWithName:@"你要的特殊字体的名称" size:22]}];

接下来做字符串的拼接:[welcome  appendAttributedString:name];

最后就是把拼接好的字符串给Label赋值了:[label setAttributedText:name];然后就大功告成了,快去试试吧~


注意:如果你知道这个字符串中具体哪个位置,不要这样傻傻的用上面的方法!

NSMutableAttributedString  里面带有range的很多的,看一下就会了~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容