в моем делегате приложения:
UIImage *navBarArrowItemBackground = [UIImage imageNamed:@"tabbar_button_back"];
[UIBarButtonItem appearance] setBackButtonBackgroundImage:navBarArrowItemBackground
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
и в отдельном контроллере представления:
UIBarButtonItem* backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self
action:nil];
[backButton setBackgroundImage:[UIImage imageNamed:@"tabbar_button_back_gray"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[self.navigationItem setBackBarButtonItem:backButton];
Таким образом, на контроллерах дочернего представления заголовок кнопки «Назад» изменен, но фон берется из внешнего вида в appDelegate. Мне нужен собственный фон для одного контроллера представления. Как я могу это решить?
изменить № 1:
теперь appDelegate выглядит так:
UIImage *navBarArrowItemBackground = [UIImage imageNamed:@"tabbar_button_back"];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:navBarArrowItemBackground
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearanceWhenContainedIn:[SettingsListViewController class], nil] setBackButtonBackgroundImage: [UIImage imageNamed:@"tabbar_button_back_gray"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];