格式化Label的金额
博客专区 > asjoker 的博客 > 博客详情
格式化Label的金额
asjoker 发表于6个月前
格式化Label的金额
  • 发表于 6个月前
  • 阅读 8
  • 收藏 0
  • 点赞 0
  • 评论 0
  1. 将 ¥123.456 变为红色
  2. 将 123 字体大小变大
let str = "金额:¥12.3456789"
let attributeStr = NSMutableAttributedString(string: str)

let nsstr = str as NSString
// 查找金额
let signalRange = nsstr.range(of: "¥")
if signalRange.length > 0 {
    let signalNumRange = NSRange(location: signalRange.location, length: attributeStr.length - signalRange.location)
    // 设置为字体颜色
    attributeStr.setAttributes([NSForegroundColorAttributeName: UIColor.red], range: signalNumRange)
    
    // 查找 小数点
    let pointRange = nsstr.range(of: ".")
    if pointRange.length > 0 {
        let numRange = NSRange(location: signalRange.location + signalRange.length, length: pointRange.location + pointRange.length - (signalRange.location + signalRange.length))
        // 设置 字体大小
        attributeStr.addAttribute(NSFontAttributeName, value: UIFont.systemFont(ofSize: 20), range: numRange)
    }else{
        let numRange = NSRange(location: signalRange.location + signalRange.length, length: attributeStr.length - (signalRange.location + signalRange.length) )
        // 设置 字体大小
        attributeStr.addAttribute(NSFontAttributeName, value: UIFont.systemFont(ofSize: 20), range: numRange)
    }
}
attributeStr
共有 人打赏支持
粉丝 11
博文 106
码字总数 78651
×
asjoker
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: