UIBarButtonItem外观setTitleTextAttributes不影响UIControlStateDisabled状态

时间:2012-07-30 08:59:43

标签: ios5 uibarbuttonitem appearance uibarbuttonitemstyle

我们的设计师让我为禁用的UIBarButtonItems文本使用特定颜色。我用来实现这个代码:

NSDictionary* textAttributes = [NSDictionary dictionaryWithObject: [UIColor blueColor]
                                                           forKey: UITextAttributeTextColor];

[[UIBarButtonItem appearance] setTitleTextAttributes: textAttributes
                                            forState: UIControlStateDisabled];

但它没有改变文本属性。

我已尝试使用Normal状态的代码,尝试使用setBackgroundImage为UIControlStateDisabled按钮添加背景,并且所有thouse实验都能正常工作。但是这个单一的组合:setTitleTextAttributes和UIControlStateDisabled没有做任何事情。

谷歌没有给我任何关于该特定组合的相关答案。

有没有人知道改变已禁用的UIBarButtonItem的颜色的其他方法或使setTitleTextAttributes适用于已伪装的项目的方法?

2 个答案:

答案 0 :(得分:29)

您必须将其设置为控制状态Normal和Disabled。

(2015-11-18 - 从iOS 9.1开始,你必须同时设置它们。)

答案 1 :(得分:0)

iOS 5.1适用于我。也许这是一个5.0的错误。