【发布时间】:2013-12-16 08:08:19
【问题描述】:
我需要在一个 ViewController 中更改 UIBarButtonItem 的默认背景(已在我的 AppDelegate 中声明)。
所以,在我的 AppDelegate 中,我有:
UIImage *navBarItemBackground = [UIImage imageNamed:@"navbar_button_green"];
[[UIBarButtonItem appearance] setBackgroundImage:navBarItemBackground
forState:UIControlStateNormal
style:UIBarButtonItemStyleBordered
barMetrics:UIBarMetricsDefault];
当我需要恢复按钮的默认背景时 - 我在我的 viewController 中实现:
self.navigationItem.rightBarButtonItem = nil;
UIBarButtonItem *rightBarItem = [[UIBarButtonItem alloc] initWithTitle:@"Сохранить" style:UIBarButtonItemStyleBordered target:self action:@selector(clickOnSend:)];
[rightBarItem setBackgroundImage:[UIImage imageNamed:@""] forState:UIControlStateNormal style:UIBarButtonItemStyleBordered barMetrics:UIBarMetricsDefault];
self.navigationItem.rightBarButtonItem = rightBarItem;
但我认为将空文件设置为图像是不正确的。有没有更简单的方法来实现这种行为?谢谢!
【问题讨论】:
标签: ios objective-c uibarbuttonitem uiappearance