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