iOS开发 label上显示不同颜色不同大小的字

(1)// 要显示不同颜色的数字
    NSString *numberStr = [NSString stringWithFormat:@"%d",121];
// _myabel创建的label
    [_myabel setAttributedText:[self attrStrFrom:[NSString stringWithFormat:@"已有 %d 条反馈",121] numberStr:numberStr]]

// 新增特殊处理:数字 颜色
- (NSMutableAttributedString *)attrStrFrom:(NSString *)titleStr numberStr:(NSString *)numberStr
{
    NSMutableAttributedString *arrString = [[NSMutableAttributedString alloc]initWithString:titleStr];
    // 设置前面几个字串的格式:蓝色 16.0f字号
    [arrString addAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:16.0f],
                               NSForegroundColorAttributeName:[UIColor blueColor]
                               }
                       range:[titleStr rangeOfString:numberStr]];
    return arrString;

}

效果:

(2)不同字号的字:

_priceLabel的font字号是大字号

// 价钱
    NSString  *price = [NSString  stringWithFormat:@" ¥%@ ",@"188.0"];
    _priceLabel.text = price;
    [_priceLabel setAttributedText:[self attrStrFrom:price colorStr:@"¥" color:[UIColor  whiteColor] font:[UIFont systemFontOfSize:14.0]]];

调用下面这个方法 其实是上面处理颜色方法的改进版

/**
 *  @brief  关键字高亮的处理
 *  @category
 *	@param 	allString            整体字符串
 *	@param 	colorStr;            要改变颜色的字符串
 *	@param 	color;               要设置的颜色
 *	@param 	font;                字号
 **/
- (NSMutableAttributedString *)attrStrFrom:(NSString *)allString colorStr:(NSString *)colorStr color:(UIColor *)color font:(UIFont *)font
{
    NSMutableAttributedString *arrString = [[NSMutableAttributedString alloc]initWithString:allString];
    // 设置前面几个字串的格式:字号字体、颜色
    [arrString addAttributes:@{NSFontAttributeName:font,
                               NSForegroundColorAttributeName:color
                               }
                       range:[allString rangeOfString:colorStr]];
    return arrString;
}
效果如图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值