【发布时间】:2013-01-10 03:33:18
【问题描述】:
我正在尝试为我的 UIBarButtonItem 设置自定义按下的图像,但似乎没有任何效果。根据我的理解,下面的代码应该可以工作,但是尽管将图像设置为突出显示状态,但按钮在按下时看起来完全一样。
有什么想法吗?
UIImage *barButtonBackground = [[UIImage imageNamed:ANBarButtonItemBackgroundImageName] resizableImageWithCapInsets:UIEdgeInsetsMake(5.0f,5.0f, 5.0f, 5.0f)];
UIImage *barButtonPressedBackground = [[UIImage imageNamed:ANBarButtonPressedImageName] resizableImageWithCapInsets:UIEdgeInsetsMake(5.0f,5.0f, 5.0f, 5.0f)];
[self.navigationItem.leftBarButtonItem setBackgroundImage:barButtonBackground forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[self.navigationItem.rightBarButtonItem setBackgroundImage:barButtonBackground forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[self.navigationItem.leftBarButtonItem setBackgroundImage:barButtonPressedBackground forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
[self.navigationItem.rightBarButtonItem setBackgroundImage:barButtonPressedBackground forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
【问题讨论】:
-
您是如何创建按钮的?您实际上可以看到哪张图片?
-
你确定按下的图像实际上是不同的吗?尝试交换图像。
-
我检查了两张图片——它们是不同的。这些按钮是在我的故事板中创建的。 IBActions、icons 和 sofourth 都适用于 bar 按钮项——我只是无法在突出显示时为这些 BarButtonItems 显示备用图像。
-
@AaronNg :您是否使用过我的答案中提供的自定义按钮方法?
-
这是用什么方法?你确定你的
leftBarButtonItem和rightBarButtonItem已经设置了吗?
标签: ios objective-c uiimage uibarbuttonitem