阅读背景:

iOS开发中,在label中改变数字颜色的方法(改变某个关键词的方法)

来源:互联网 
/**
 *  切换label关键字颜色
 *
 *  @param label 传入文本框
 *  @param color 颜色值
 */
- (void)changeLabel:(UILabel *)label withTextColor:(UIColor *)color {
    NSString *labelStr = label.text; //初始化string为传入label.text的值
    NSCharacterSet *nonDigits = [[NSCharacterSet decimalDigitCharacterSet]invertedSet];//创建一个字符串过滤参数,decimalDigitCharacterSet为过滤小数,过滤某个关键词,只需改变 decimalDigitCharacterSet类型  在将此方法增加一个 NSString参数即可
    NSInteger remainSeconde = [[labelStr stringByTrimmingCharactersInSet:nonDigits]intValue];//获取过滤出来的数值
    NSString *stringRange = [NSString stringWithFormat:@"%ld",(long)remainSeconde];//将过滤出来的Integer的值转换成String
    NSRange range = [labelStr rangeOfString:stringRange];//获取过滤出来的数值的位置
    NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc]initWithString:label.text];//创建一个带属性的string
    [attrStr addAttribute:NSForegroundColorAttributeName value:color range:range];//给带属性的string添加属性,attrubute:添加的属性类型(颜色\文字大小\字体等等),value:改变成的属性参数,range:更改的位置
    label.attributedText = attrStr;//将 attstr 赋值给label带属性的文本框属性

    /**
     以下为NSCharacterSet的过滤类型:

     controlCharacterSet; //控制符
     whitespaceCharacterSet; //空格
     whitespaceAndNewlineCharacterSet; //空格和换行符
     decimalDigitCharacterSet; //小数
     letterCharacterSet; //文字
     lowercaseLetterCharacterSet; //小写字母
     uppercaseLetterCharacterSet; //大写字母
     nonBaseCharacterSet; //非基础
     alphanumericCharacterSet; //字母数字
     decomposableCharacterSet; //可分解
     illegalCharacterSet; //非法
     punctuationCharacterSet; //标点
     capitalizedLetterCharacterSet; //大写
     symbolCharacterSet; //符号
     newlineCharacterSet; //换行符
     */

}
/**
 *  切换label关键字颜色
 *
 *  @param label 传入文本框



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: