Мне нужно изменить значение по умолчанию (которое уже было объявлено на моем AppDelegate) для UIBarButtonItem в одном ViewController.Невозможно изменить фон для UIBarButtonItem
Итак, в моем 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;
Но я думаю, что это Неправильно установить пустой файл в качестве изображения. Есть ли более простой способ реализовать это поведение? Благодаря!
Да, вторая часть кода помещается в отдельный viewController. Но мне нужно оставить эту кнопку по умолчанию для фона iOS6 и для всех остальных кнопок мне нужно изменить фон с внешним видом. – ShurupuS
@ShurupuS, то вы просто передаете nil в параметр изображения, он должен работать. – chancyWu
Да - он работает, просто попытался использовать это решение - нет кода выглядит немного проще. Благодаря! – ShurupuS