• iOS


    代码如下

    
       NSMutableAttributedString *hintString=[[NSMutableAttributedString alloc]initWithString:@"(故障)"];
            NSRange range1=[[hintString string]rangeOfString:@"()"];
            [hintString addAttribute:NSForegroundColorAttributeName value:[UIColor blackColor] range:range1];
            NSRange range2=[[hintString string]rangeOfString:@"故障"];
            [hintString addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:range2];
            //下面是需要给哪个lable进行赋值
            self.lblDpfStatus.attributedText = hintString;
    
    

    封装成工具类

    
    #import <UIKit/UIKit.h>
    @interface NSObject (Tool)
    
    -(NSAttributedString *)setString:(NSString *)str withColorOneStr:(NSString *)oneStr andColorOne:(UIColor *)colorOne andColorTwoStr:(NSString *)twoStr andColorTwo:(UIColor *)colorTwo;
    
    @end
    
    //.m文件中
    
    #import "NSObject+Tool.h"
    
    @implementation NSObject (Tool)
    
    -(NSAttributedString *)setString:(NSString *)str withColorOneStr:(NSString *)oneStr andColorOne:(UIColor *)colorOne andColorTwoStr:(NSString *)twoStr andColorTwo:(UIColor *)colorTwo{
        
        NSMutableAttributedString *hintString=[[NSMutableAttributedString alloc]initWithString:str];
        NSRange range1=[[hintString string]rangeOfString:oneStr];
        [hintString addAttribute:NSForegroundColorAttributeName value:colorOne range:range1];
        NSRange range2=[[hintString string]rangeOfString:twoStr];
        [hintString addAttribute:NSForegroundColorAttributeName value:colorTwo range:range2];
        return hintString;
    }
    
    @end
    
    

    测试工具类

    
    - (void)viewDidLoad {
        
        [super viewDidLoad];
        UILabel * lbl = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 100, 35)];
        lbl.text = @"hello world";
        lbl.attributedText = [self setString:lbl.text withColorOneStr:@"hello" andColorOne:[UIColor orangeColor] andColorTwoStr:@"w" andColorTwo:[UIColor redColor]];
        [self.view addSubview:lbl];
    }
    
    

    测试结果如下

    设置的字符串必须是连续的否则无效如图

  • 相关阅读:
    C++ 重载运算符
    线段树
    矩阵的构造
    矩阵快速幂
    Fibnoccia 数列简单题
    权值线段树
    .net System.Net.Mail 之用SmtpClient发送邮件Demo
    poj-3087 Shuffle'm Up
    hdu-1548 A strange lift
    scu-4440 rectangle (非原创)
  • 原文地址:https://www.cnblogs.com/adampei-bobo/p/6292930.html
Copyright © 2020-2023  润新知