在处理项目时我的任务是将货币转换为Niria并成功将其转换为Niria但是当我必须将其显示为属性时会出现问题, 当我将简单字符串转换为属性时,符号
中缺少一个strik throughlet 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))
}
答案 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))
}