制作归属字符串后的货币符号

时间:2016-09-27 05:44:12

标签: ios swift

在处理项目时我的任务是将货币转换为Niria并成功将其转换为Niria但是当我必须将其显示为属性时会出现问题, 当我将简单字符串转换为属性时,符号

中缺少一个strik through
let balance = "₦ 450.00"
let myMutableString = NSMutableAttributedString(string: balance, attributes: [NSFontAttributeName: UIFont.systemFont(ofSize: 48)])
        if balance.contains(".") {
            myMutableString.addAttributes([NSFontAttributeName: UIFont.systemFont(ofSize: 22)], range: NSRange(location: balance.length - 2, length: 2))
        }

1 个答案:

答案 0 :(得分:2)

我认为这是新旧金山字体的一个问题。

解决方法是使用Helvetica

let balance = "₦ 450.00"
let myMutableString = NSMutableAttributedString(string: balance, attributes: [NSFontAttributeName: UIFont(name: "Helvetica Neue", size: 48.0)!])
if balance.containsString(".") {
    myMutableString.addAttributes([NSFontAttributeName: UIFont(name: "Helvetica Neue", size: 22.0)!], range: NSRange(location: balance.characters.count - 2, length: 2))
}

注意:不幸的是,我还没有迁移到Swift 3.我仍在使用Swift 2.2

编辑:在Swift 3.0中

let balance = "₦ 450.00"
let myMutableString = NSMutableAttributedString(string: balance, attributes: [NSFontAttributeName: UIFont(name: "Helvetica Neue", size: 48.0)!])
if balance.contains("."){
    myMutableString.addAttributes([NSFontAttributeName: UIFont(name: "Helvetica Neue", size: 22.0)!], range: NSRange(location: balance.characters.count - 2, length: 2))
}