【问题标题】:Button image for UIControlStateSelected not working after customizing UIBarButtonItem through UIAppearance通过 UIAppearance 自定义 UIBarButtonItem 后,UIControlStateSelected 的按钮图像不起作用
【发布时间】:2012-09-26 15:39:31
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: iphone ios customization uibarbuttonitem uiappearance


    【解决方案1】:

    我相信UIControlStateHighlighted 就是您要找的。

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

    【讨论】:

    • 谢谢!我尝试了UIControlStateSelected,它适用于我在 AppDelegate.m 中自定义的普通样式栏按钮,所以我认为它是正确的。感谢您清理它。
    • 顺便说一句,您知道是否有办法使用自定义图像设置所有UIBarButtonItemStyleDone?我试着问这个问题,但没有得到回应:stackoverflow.com/questions/12583574/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多