我们在应用中显示一个标签,其中包含属性文字和一些突出显示颜色。为此,我们使用以下代码:
let paddedLineAttributed = NSMutableAttributedString(string: paddedLine, attributes: [NSFontAttributeName : newFont, NSParagraphStyleAttributeName : paragraphStyle, NSBackgroundColorAttributeName : color])
但在将我们的一个测试设备升级到iOS 10.3后,标签的指定背景颜色不再生效。相反,它使用透明的背景颜色使标签不可见,因为我们使用的颜色与父视图的颜色相同。
我怀疑NSBackgroundColorAttributeName
是罪魁祸首,但官方API参考保持不变 - https://developer.apple.com/reference/appkit/nsbackgroundcolorattributename
有什么想法吗?
答案 0 :(得分:2)
复制自@schystz评论:
添加NSBaselineOffsetAttributeName: 0
可以解决问题。
let paddedLineAttributed = NSMutableAttributedString(string: paddedLine, attributes: [NSFontAttributeName : newFont, NSParagraphStyleAttributeName : paragraphStyle, NSBackgroundColorAttributeName : color, NSBaselineOffsetAttributeName: 0])