通过UIAppearance自定义UIBarButtonItem后,UIControlStateSelected的按钮图像无法正常工作

时间:2012-09-26 15:39:31

标签: iphone ios customization uibarbuttonitem uiappearance

我已使用UIBarButtonItem在AppDelegate.m中自定义了UIAppearance,并且所有条形按钮都显示正常和选定状态下的正确图像。

我希望“完成”和“保存”按钮使用不同的图像(因此它们看起来是蓝色而不是灰色),因此我使用-setBackgroundImage: forState: barMetricsUIControlStateNormal设置了两个不同的图像UIControlStateSelected中的-viewDidLoad

UIControlStateNormal的图片工作正常,但UIControlStateSelected没有显示,而是显示我在AppDelegate.m中用于选定状态的原始图像。如果我注释掉原始图像,则会正确显示新的(蓝色)图像。

为特定按钮设置不同背景图像的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

我相信UIControlStateHighlighted正是您所寻找的。

只要收到用户触摸,UIBarButtonItem就会进入突出显示状态。 UIControlStateSelected通常用于在两个州之间切换的UI元素。