根据背景视图颜色iOS找出文本颜色

Posted

技术标签:

【中文标题】根据背景视图颜色iOS找出文本颜色【英文标题】:Figuring out the text color based on background view color iOS 【发布时间】:2012-04-11 07:32:36 【问题描述】:

我有这些视图,我将 UILabel 添加为文本,视图可以具有动态且无法选择的背景颜色,

基于此,我只需要从三个选项中找出字体颜色 - 两个黑色或白色或深灰色。

例如在深红色背景上,白色字体比黑色更适合,而在浅黄色上,深灰色或黑色可能更易读,

是否有任何索引可以从背景 UIColor 检查以查看照度?

【问题讨论】:

您可以从 UIColor 中获取 RGBA 值并将它们平均并使用该值。 【参考方案1】:

看看我的UIColor category 和blackOrWhiteContrastingColor 方法。这将告诉您黑色或白色哪个看起来更好。您也可以扩展它以支持深灰色。

基本上它的工作方式是查看目标颜色和黑色之间的亮度差异,然后是目标颜色和白色之间的亮度差异。然后它选择最大的亮度差异。

【讨论】:

以上是关于根据背景视图颜色iOS找出文本颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何将图像视图颜色设置为文本字段背景颜色

组合布局IOS 13组背景颜色

根据背景颜色更改文本颜色

iOS:当视图背景颜色为清晰颜色时,图层背景颜色不显示

UIProgressBar:如何根据背景颜色更改 UILabel 颜色

根据背景图像/颜色更改文本颜色