У меня есть контроллер навигации с двумя элементами UIBarButtonItem на панели навигации. Я хочу изменить цвет оттенка только для того, что справа. Я нашел способ сделать это в статике:
[[self.navigationController.navigationBar.subviews objectAtIndex:2] setTintColor:[UIColor redColor]];
Проблема в том, что когда я вставляю контроллер в свой контроллер навигации, чтобы отобразить другое представление, когда я возвращаюсь к корневому представлению, где моя правая кнопка панели навигации должна иметь настраиваемый цвет, цвет кнопки возвращается к своему значению по умолчанию. И когда я снова нажимаю на нее, приложение вылетает. Он говорит, что не может изменить цвет оттенка, как если бы изменился индекс этого элемента на моей панели навигации.
Я пробовал другие техники, найденные в Интернете, но все они потерпели неудачу, когда я использую контроллер навигации и возвращаюсь к корневому контроллеру ...
Любая идея? Спасибо!
Изменить 1:
Мне нужна кнопка стиля с рамкой в моем UINavigationBar с красным или зеленым цветом фона.
Что касается других способов, которые я нашел, это в значительной степени цикл foreach для представлений на панели навигации, и если вид класса представления является элементом кнопки, измените tintColor. Он не дает сбоев, но он применяется ко всем UIBarButtonItem моей панели навигации (и мне просто нужна конкретная кнопка, правильная, а не все). Например, это руководство наполовину работает, мое приложение вылетает при возвращении к контроллеру корневого представления.