UILabel背景颜色检测?

时间:2015-01-30 02:04:43

标签: ios objective-c

是否可以以编程方式检测特定UILabel的颜色?

这些代码行的意图是将背景从红色更改为白色。短暂增加亮度,然后降低亮度,然后将标签背景颜色跟回红色。

问题在于,有时亮度会随着背景颜色的变化而增加。因此导致应用程序设计的主要缺陷。这是私人的。

    self.label.backgroundColor = [UIColor colorWithRed:255.0/255 green:255.0/255 blue:255.0/255 alpha: 1.0];
    [UIScreen mainScreen].brightness = 1.0;
    [self performSelector:@selector(resetColor) withObject:self afterDelay:0.05f ];

- (void)resetColor {
    [UIScreen mainScreen].brightness = 0.0;
    self.label.backgroundColor = [UIColor colorWithRed:255.0/255 green:0.0/255 blue:0.0/255 alpha:0.5];

任何人都可以看到为什么它会随意改变背景颜色吗?

主要是,有可能做到以下几点吗?

if (self.label.backgroundColor == [UIColor whiteColor]){ 要么 while (self.label.backgroundColor == [UIColor whiteColor){

1 个答案:

答案 0 :(得分:0)

你的职能:

[self performSelector:@selector(resetColor) withObject:self afterDelay:0.05f ];

这个函数叫哪个?

比较颜色是相同的: 使用isEqual:而不是== 即。

if ([self.label.backgroundColor isEqual:[UIColor whiteColor]])

否则,你应该比较所有Color的元素, 即RGBA