美文网首页IOS
iOS-UILabel的attributedText

iOS-UILabel的attributedText

作者: BestVast | 来源:发表于2016-05-30 12:41 被阅读2490次

    f1、效果图


    效果图.png

    2、代码

    /*
    NSForegroundColorAttributeName  字体颜色
    NSFontAttributeName  字体大小
    NSUnderlineColorAttributeName 下划线颜色
    NSUnderlineStyleAttributeName   下划线style
    NSUnderlineStyleSingle    单线
    NSUnderlineStyleDouble  双线
    
    NSStrikethroughColorAttributeName   中间线颜色
    NSStrikethroughStyleAttributeName   中间线style
    */
        NSString *textString = @"这个是用来演示的文字";
        
        //字符串字体大小、颜色全部统一样式
        UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, Screen_Width - 20, 50)];
        label1.backgroundColor = [UIColor cyanColor];
        [self.view addSubview:label1];
        NSMutableAttributedString *str1 = [[NSMutableAttributedString alloc] initWithString:textString attributes:@{NSForegroundColorAttributeName:[UIColor redColor], NSFontAttributeName:[UIFont systemFontOfSize:30]}];
        label1.attributedText = str1;
        
        //字体大小、颜色不统一,只改变一种
        UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(10, 100 + 60, Screen_Width - 20, 50)];
        label2.backgroundColor = [UIColor cyanColor];
        [self.view addSubview:label2];
        NSMutableAttributedString *str2 = [[NSMutableAttributedString alloc] initWithString:textString];
        [str2 addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, 3)];
        [str2 addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:35] range:NSMakeRange(3, 7)];
        label2.attributedText = str2;
        
        //字体大小、颜色不统一,全部改变
        UILabel *label3 = [[UILabel alloc] initWithFrame:CGRectMake(10, 100 + 120, Screen_Width - 20, 50)];
        label3.backgroundColor = [UIColor cyanColor];
        [self.view addSubview:label3];
        NSMutableAttributedString *str3 = [[NSMutableAttributedString alloc] initWithString:textString];
        [str3 addAttributes:@{NSForegroundColorAttributeName:[UIColor redColor], NSFontAttributeName:[UIFont systemFontOfSize:28]} range:NSMakeRange(0, 3)];
        [str3 addAttributes:@{NSForegroundColorAttributeName:[UIColor orangeColor], NSFontAttributeName:[UIFont systemFontOfSize:33]} range:NSMakeRange(3, 7)];
        label3.attributedText = str3;
        
        //在label3的基础上添加下划线
        UILabel *label4 = [[UILabel alloc] initWithFrame:CGRectMake(10, 100 + 180, Screen_Width - 20, 50)];
        label4.backgroundColor = [UIColor cyanColor];
        [self.view addSubview:label4];
        NSMutableAttributedString *str4 = [[NSMutableAttributedString alloc] initWithString:textString];
        [str4 addAttributes:@{NSForegroundColorAttributeName:[UIColor redColor], NSFontAttributeName:[UIFont systemFontOfSize:28],  NSUnderlineColorAttributeName:[UIColor blackColor], NSUnderlineStyleAttributeName:@(NSUnderlineStyleSingle)} range:NSMakeRange(0, 3)];
        [str4 addAttributes:@{NSForegroundColorAttributeName:[UIColor orangeColor], NSFontAttributeName:[UIFont systemFontOfSize:33], NSUnderlineColorAttributeName:[UIColor redColor], NSUnderlineStyleAttributeName:@(NSUnderlineStyleDouble)} range:NSMakeRange(3, 7)];
        label4.attributedText = str4;
        
        //在label3的基础上,在文字中间添加横线
        UILabel *label5 = [[UILabel alloc] initWithFrame:CGRectMake(10, 100 + 240, Screen_Width - 20, 50)];
        label5.backgroundColor = [UIColor cyanColor];
        [self.view addSubview:label5];
        NSMutableAttributedString *str5 = [[NSMutableAttributedString alloc] initWithString:textString];
        [str5 addAttributes:@{NSForegroundColorAttributeName:[UIColor redColor], NSFontAttributeName:[UIFont systemFontOfSize:28], NSStrikethroughColorAttributeName:[UIColor blueColor], NSStrikethroughStyleAttributeName:@(NSUnderlineStyleSingle)} range:NSMakeRange(0, 3)];
        [str5 addAttributes:@{NSForegroundColorAttributeName:[UIColor orangeColor], NSFontAttributeName:[UIFont systemFontOfSize:33], NSStrikethroughColorAttributeName:[UIColor purpleColor], NSStrikethroughStyleAttributeName:@(NSUnderlineStyleDouble)} range:NSMakeRange(3, 7)];
        label5.attributedText = str5;
        
        //在label3的基础上,添加图片
        UILabel *label6 = [[UILabel alloc] initWithFrame:CGRectMake(10, 100 + 300, Screen_Width - 20, 50)];
        label6.backgroundColor = [UIColor cyanColor];
        [self.view addSubview:label6];
        NSMutableAttributedString *str6 = [[NSMutableAttributedString alloc] initWithString:textString];
        [str6 addAttributes:@{NSForegroundColorAttributeName:[UIColor redColor], NSFontAttributeName:[UIFont systemFontOfSize:28]} range:NSMakeRange(0, 3)];
        [str6 addAttributes:@{NSForegroundColorAttributeName:[UIColor orangeColor], NSFontAttributeName:[UIFont systemFontOfSize:33]} range:NSMakeRange(3, 7)];
        label6.attributedText = str6;
        NSTextAttachment *attach = [[NSTextAttachment alloc] init];
        attach.image = [UIImage imageNamed:@"ic_1"];
        attach.bounds = CGRectMake(0, -5, 32, 32);
        NSAttributedString *string6 = [NSAttributedString attributedStringWithAttachment:attach];
        [str6 appendAttributedString:string6];
        label6.attributedText = str6;
    
    

    相关文章

      网友评论

        本文标题:iOS-UILabel的attributedText

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