我使用 UIAppearance
在 AppDelegate.m 中自定义了 UIBarButtonItem
,并且所有栏按钮都在正常和选定状态下显示正确的图像。
我希望“完成”和“保存”按钮使用不同的图像(因此它们显示为蓝色而不是灰色),因此我使用 -setBackgroundImage: forState: barMetrics
设置两个不同的图像-viewDidLoad
中 UIControlStateNormal
和 UIControlStateSelected
的图像。
UIControlStateNormal
的图像工作正常,但 UIControlStateSelected
图像没有显示,而是显示了我在 AppDelegate.m 中用于选定状态的原始图像。如果我注释掉原始图像,新的(蓝色)图像就会正确显示。
为特定按钮设置不同背景图像的正确方法是什么?
最佳答案
我相信 UIControlStateHighlighted
就是您正在寻找的。
UIBarButtonItem
每当收到用户触摸时就会进入突出显示状态。 UIControlStateSelected
通常适用于在两种状态之间切换的 UI 元素。
关于iphone - 通过 UIAppearance 自定义 UIBarButtonItem 后 UIControlStateSelected 的按钮图像不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12605441/