iOS学习开发IOS

UIlabel各种字体各种颜色拼接

2016-10-28  本文已影响104人  汪小喵

如题,有时候我们会有一种需求,在一个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的很多的,看一下就会了~

上一篇 下一篇

猜你喜欢

热点阅读