美文网首页
NSMutableAttribute 使用注意点

NSMutableAttribute 使用注意点

作者: 西边雨 | 来源:发表于2017-11-06 17:18 被阅读17次

前些天,使用NSMutableAttribute 设置不同的字体大小和颜色, 突然发现了一个小坑。

由于需求的问题,需要定时更新字符串。 导致下面的坑出现了。

先不说, 先来看看代码

  UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 400, self.view.bounds.size.width, 50)];
    label.textColor = [UIColor blueColor];
    for (int i = 0 ; i < 5; i++) {
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * (i+1) * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            
            //NSMutableAttributedString 如果对没有设置字体的颜色 是什么颜色呢?
            NSMutableAttributedString *attributeString = [[NSMutableAttributedString alloc] initWithString:@"黑色红色1默认颜色" attributes:@{NSForegroundColorAttributeName:label.textColor}];
            [attributeString setAttributes:@{NSForegroundColorAttributeName:[UIColor blackColor]} range:NSMakeRange(0, 2)];
            [attributeString setAttributes:@{NSForegroundColorAttributeName:[UIColor redColor]} range:NSMakeRange(2, 3)];
            label.attributedText = attributeString;
            
        });
    }
    [self.view addSubview:label];]

在循环第一次的时候,显示没有问题。

image.png

在第二次循环到时候,就出现了错误,默认的颜色不是蓝色,而是黑色。

image.png

经过定位发现,AttributeText使用了label.textColor, 每次设置了AttributeText的时候,label的textColor颜色都会被修改为AttributeText的第一个字的颜色。

相关文章

  • NSMutableAttribute 使用注意点

    前些天,使用NSMutableAttribute 设置不同的字体大小和颜色, 突然发现了一个小坑。 由于需求的问题...

  • 7.富文本总结:

    1.前言: 2.富文本使用的案列: 3.自己项目中的使用富文本: 4.IOS之NSMutableAttribute...

  • [iOS] AttributedString 动态布局

    AttributedString可以分为NSAttributedString和NSMutableAttribute...

  • VibrancyView使用注意点

    VibrancyView:需要在外围包一层view,否则会出现闪屏的问题; 例子:

  • fabric使用注意点

    写的部署脚本时python3写的,至少是python2.7以上 fabric有两个版本1和2,需使用1,不然会报错...

  • 使用masonry注意点

    删除最左边的控件,自动重算当前布局方法image.png删除橙色后image.png实现思路:第一步,三个颜色正常...

  • TakePhoto使用注意点

    最近项目到了做用户头像及商品评价的页面,使用了TakePhoto的第三方库来完成照片拍摄,图片选择的功能。这里记录...

  • AFNetworking使用注意点

    1、 AFNetworking 设置 timeout 在初始化 manager 时,可以设置 2、AFNetwor...

  • UIViewAnimation —— 使用注意点

    注意点:对于苹果的头文件的查看,重要的方法或属性会放在最前面 一、首尾式动画注意点: 1、简单的提交动画 2、下面...

  • viewStub使用注意点

    因特殊需求需要手动设置listview的高度值,listview的item里面有的item有的item使用了vie...

网友评论

      本文标题:NSMutableAttribute 使用注意点

      本文链接:https://www.haomeiwen.com/subject/kfglmxtx.html