0

我有一个用户可以选择的自定义彩色背景,但这意味着当他们更改颜色时,标签是不可见的,因为它与背景相同,我不想要这个。我的代码是:opacityLabel.textColor = bgView.backgroundColor;在这段代码中,颜色在开始时是相同的,但在我调整背景颜色时不会改变,我还需要颜色随着背景颜色不断变化,我想知道我能做什么替换为“=”以使标签显示相反的颜色。我不能做“!=”因为这意味着不等于而不是相反!如果你不能这样做,你能给我提供一种方法吗?

4

1 回答 1

1

您需要做的第一件事是计算 的相反颜色backgroundColor,然后将其分配给textColor属性。

为此,您需要getRed:green:blue:alpha:使用backgroundColor. 这将为您的颜色的每个组件提供介于 0.0 和 1.0 之间的值。然后使用UIColor类方法colorWithRed:green:blue:alpha:创建一个新的UIColor,但对每个组件使用 (1.0 - component value)。

然后最后将您的新颜色分配给opacityLabel.textColor

于 2013-01-03T10:57:44.923 回答