下面是 Swift 5.5 制作属性字符串的方法:
let s = "Hello"
var attrib = AttributedString(s)
if let range = attrib.range(of: "ell") {
attrib[range].foregroundColor = .red
self.label.attributedText = NSAttributedString(attrib)
}
问题是标签没有显示任何红色字符。事实上,我可以打印self.label.attributedText
我可以看到红色属性甚至没有进入 NSAttributedString。这是怎么回事?
默认情况下,Swift 认为您正在应用 SwiftUI 属性,而 UIKit 无法理解这一点。你必须指定什么kind属性字符串属性是:
attrib[range].uiKit.foregroundColor = .red
// ^^^^^
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)