【作者前言】:13年入圈,分享些本人工作中遇到的点点滴滴那些事儿,17年刚开始写博客,高手勿喷!以分享交流为主,欢迎各路豪杰点评改进!
1.应用场景举例:
2.实现目标:
用一个UILabel对象(priceLbl)展示,对¥ 与.0之间的字符串 进行字体放大及颜色处理
3.代码说明:
UILabel *priceLbl = [UILabel new];
NSString *priceStr = @"¥ 66666.0";
NSMutableAttributedString *attrPrice = [[NSMutableAttributedString alloc] initWithString:priceStr];
/** 找到¥后面的空格在字符串中的起始位置 +1后为即为第一个6的位置*/
NSUInteger startLocation = [priceStr rangeOfString:@" "].location + 1;
/** 找到.在字符串中的起始位置 即为待处理的字符串的末端位置*/
NSUInteger endLocation = [priceStr rangeOfString:@"."].location;
/** 确定待处理的字符串的范围位置*/
NSRange range = NSMakeRange(startLocation, endLocation - startLocation);
/** 利用NSMutableAttributeString的方法设置待处理字符串的字体*/
[attrPrice addAttribute:NSFontAttributeName value:kBaseBoldFont(30) range:range];
/** 利用NSMutableAttributeString的方法设置待处理字符串的颜色*/
// [attrPrice addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:range];
//因此处场景没有用到,但经常会用,上面这句就先行注释掉了
/** 给UILabel对象的attributeText属性赋值即可*/
priceLbl.attributedText = attrPrice;