NSBackgroundColorAttributeName 似乎不适用于 iOS 10.3
Posted
技术标签:
【中文标题】NSBackgroundColorAttributeName 似乎不适用于 iOS 10.3【英文标题】:NSBackgroundColorAttributeName doesn't seem to work on iOS 10.3 【发布时间】:2017-03-28 10:50:09 【问题描述】:我们在应用中显示一个标签,其中包含属性文本和一些突出显示颜色。为了实现这一点,我们使用以下曾经可以工作的代码:
let paddedLineAttributed = NSMutableAttributedString(string: paddedLine, attributes: [NSFontAttributeName : newFont, NSParagraphStyleAttributeName : paragraphStyle, NSBackgroundColorAttributeName : color])
但是在将我们的一台测试设备升级到 ios 10.3 后,为标签指定的背景颜色不再生效。相反,它使用了透明的背景颜色,使标签不可见,因为我们使用与父视图颜色相同的白色文本颜色。
我怀疑 NSBackgroundColorAttributeName
是罪魁祸首,但官方 API 参考保持不变 - https://developer.apple.com/reference/appkit/nsbackgroundcolorattributename
有什么想法吗?
【问题讨论】:
你可以试试这个建议-link 感谢您的建议,现在会尝试一下,看看我们现在是否可以解决这个问题。 【参考方案1】:复制自@schystz 评论:
添加NSBaselineOffsetAttributeName: 0
可以解决问题。
let paddedLineAttributed = NSMutableAttributedString(string: paddedLine, attributes: [NSFontAttributeName : newFont, NSParagraphStyleAttributeName : paragraphStyle, NSBackgroundColorAttributeName : color, NSBaselineOffsetAttributeName: 0])
【讨论】:
以上是关于NSBackgroundColorAttributeName 似乎不适用于 iOS 10.3的主要内容,如果未能解决你的问题,请参考以下文章