UIBarButtonItem setTintColor不适用于深色

时间:2012-01-09 23:40:03

标签: iphone objective-c uikit uibarbuttonitem

我正在设置tintColor的{​​{1}}。只要颜色是亮色,只要我尝试将其设置为UIBarButtonItem没有任何反应,实际上它会将色调更改为白色!但是,如果我将颜色更改为darkGrayColor,那么它的工作原理......这里发生了什么?

redColor

1 个答案:

答案 0 :(得分:1)

[UIColor redColor][UIColor darkGrayColor]之间的区别在于前者是使用RGB值设置的,而后者是使用灰度级,UIBarButtonItem以某种方式忽略了灰度。你可以通过比较来测试这个理论:

[penButton setTintColor:[UIColor colorWithRed:0.5 green:0.5 blue:0.5 alpha:1.0]]; 

[penButton setTintColor:[UIColor colorWithWhite:0.5 alpha:1.0]]; 

如果前者是预期的但后者不是,那么问题确实是灰度。否则我不知道是什么导致了这种行为。