IOS - Как изменить цвет значков в панели вкладок moreViewController

Я хочу изменить цвет значков (и, вероятно, значок) в moreNavigationController от серого до другого.

Я прочитал и успешно изменил цвет фона и текста. Я сделал это путем "замены" источника данных moreViewController (здесь описано, например, " Настройка меню" Дополнительно "на панели вкладок). Но обновление значков (также значение textLabel) здесь не влияет. Можно ли изменить этот серый цвет на белый (или что-нибудь еще)? Или мне нужно реализовать собственный tabBarController? (любые хорошие учебники?)

PS. Я знаю, как менять значки на панели вкладок, вопрос в том, как это сделать в moreViewController?

Благодарю! Петр

4 ответа

Хорошо, из длительных исследований в Интернете и ответов в этой теме, кажется, что на iOS7 невозможно изменить цвет значков (серый цвет), отображаемых в moreViewController UITabBarController. Лучшее решение для настраиваемой панели вкладок - реализовать его (или использовать некоторую библиотеку).

Благодарю!


В случае, если это все еще имеет значение для всех. Вы можете изменять цвета значков, отображаемые в таблицеView moreViewController:

self.tabBarController?.moreNavigationController.topViewController?.view.tintColor = UIColor.redColor()

Изменение названия выглядит так:

self.tabBarController?.moreNavigationController.navigationBar.topItem?.title = "MyString"

Изменение кнопки "Редактировать":

self.tabBarController?.moreNavigationController.navigationBar.tintColor = UIColor.redColor()


Вы можете сделать это с помощью прокси-сервера внешнего вида, нового в iOS 5. В вашем делете делегата didFinishLaunching:

[[UITabBar appearance] setSelectedImageTintColor:[UIColor redColor]];
In iOS 7 use:

[[UITabBar appearance] setTintColor:[UIColor redColor]];

См. Ссылку на UITabBar для более подробной информации.


Вы можете изменить цвет, просто подклассировать контроллер панели вкладок и в нем просмотреть загрузку, добавив ниже код

override func viewDidLoad() {
 super.viewDidLoad()
 var view = self.moreNavigationController.topViewController.view as UITableView
 view.tintColor = Utilities.mainColor()
 view.separatorStyle = .None
 }

Для получения дополнительной информации вы можете увидеть мой вопрос здесь: Изменить цвет оттенка элемента управления редактирования панели табуляции

licensed under cc by-sa 3.0 with attribution.