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

来源:互联网 发布:飞常准软件怎么样 编辑:程序博客网 时间:2024/05/29 06:36
/** *  切换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; //换行符     */}

0 0
原创粉丝点击