iphone - 通过 UIAppearance 自定义 UIBarButtonItem 后 UIControlStateSelected 的按钮图像不起作用

标签 iphone ios customization uibarbuttonitem uiappearance

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

我希望“完成”和“保存”按钮使用不同的图像(因此它们显示为蓝色而不是灰色),因此我使用 -setBackgroundImage: forState: barMetrics 设置两个不同的图像-viewDidLoadUIControlStateNormalUIControlStateSelected 的图像。

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

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

最佳答案

我相信 UIControlStateHighlighted 就是您正在寻找的。

UIBarButtonItem 每当收到用户触摸时就会进入突出显示状态。 UIControlStateSelected 通常适用于在两种状态之间切换的 UI 元素。

关于iphone - 通过 UIAppearance 自定义 UIBarButtonItem 后 UIControlStateSelected 的按钮图像不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12605441/

相关文章:

iphone - UITableView 内容的背景图片

ios - Objective-C/iPhone 'Hello World' 应用程序的显示不正确

iphone - 为什么我在使用 PayPal API 时缺少符号 "_xmlNodeListGetString"?

ios - NSInvalidArgumentException',原因 : '-[UILabel view]: unrecognized selector sent to instance 0x7ffbd0da2680'

ios - 在 setNeedsLayout 上自动添加 StatusBar Padding

ios - 在一个特定的 UIView 旋转时防止动画

iphone - 测试对象是否已被释放

css - 在 Twentyeleven 主题上使页眉透明

iphone - 为 iPhone 应用程序创建自定义 UITabBar 真的很酷吗?

c# - wpf 应用程序中的自定义组合框