如何获得相反的颜色

时间:2013-01-03 10:49:56

标签: objective-c cocoa-touch background-color

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

1 个答案:

答案 0 :(得分:1)

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

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

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