Как наиболее эффективно изменить фон панели навигации и цвет текста вкладки «больше»? - PullRequest
1 голос
/ 16 августа 2011

Я использую следующий метод делегата UINavigation в моем делегате приложения, чтобы обновить фон панели навигации и цвет текста для всех моих контроллеров представления (чтобы мне не приходилось повторять код для каждого контроллера представления в стеке.

- (void)navigationController:(UINavigationController *)navigationController 
  willShowViewController:(UIViewController *)viewController animated:(BOOL)animated

Это работало нормально для всех моих вкладок в приложении, кроме вкладки «больше». Теперь у меня есть несколько контроллеров представления в «дополнительной вкладке»

Возможно лиВызовите метод делегата UINavigation для вкладки «more». Иначе как лучше всего изменить панель навигации и цвет текста всех контроллеров представления на вкладке more без повторения кода для всех контроллеров представления.

1 Ответ

0 голосов
/ 29 августа 2011

Мне нужно было делать одно и то же много раз. Мое решение состоит в том, чтобы создать суперкласс, который наследует UIViewController, а затем настраивает навигационную панель в представленной загрузке. Затем наследуйте этот суперкласс со всеми вашими контроллерами представления.

Это решение помещает все ваши пользовательские изменения навигационной панели в одну точку, поэтому, если вы хотите изменить цвета или добавить изображения, вам нужно сделать это только в одном суперклассе. Это отличное использование наследования и повторного использования кода, которое избавит ваши классы от дублированного кода.

...