我有一个用户可以选择的自定义彩色背景,但这意味着当他们更改颜色时,标签是不可见的,因为它与背景相同,我不想要这个。我的代码是:opacityLabel.textColor = bgView.backgroundColor;
在这段代码中,颜色在开始时是相同的,但是当我调整背景颜色时不会改变,我还需要颜色随背景颜色不断变化,I想知道我可以用“=”代替什么来使标签做相反的颜色。我不能做“!=”,因为这意味着不等于相反!如果你不能这样做,你可以为我提供一种方法吗?
答案 0 :(得分:1)
您需要做的第一件事就是计算backgroundColor
的相反颜色,然后将其分配给textColor
属性。
要执行此操作,您需要在getRed:green:blue:alpha:
上使用backgroundColor
方法。对于颜色的每个组件,这将为您提供介于0.0和1.0之间的值。
然后使用UIColor
类方法colorWithRed:green:blue:alpha:
创建新的UIColor
,但为每个组件使用(1.0 - 组件值)。
然后最终将新颜色分配给opacityLabel.textColor