UIKit Внешний прокси-сервер для пользовательского UITabBar - PullRequest
0 голосов
/ 25 октября 2011

Я хочу создать пользовательский UITabBar и знаком с внешним видом прокси. Я знаю, что могу установить его фоновое изображение на то, что я хочу. Как я могу изменить выбранное состояние каждой вкладки? По сути, я бы хотел убрать эффект блеска / блеска.

Ответы [ 2 ]

2 голосов
/ 25 октября 2011

Вам нужно захватить фактический UITabBarItem

Что-то вроде этого должно сделать трюк для отдельных элементов

UITabBar *tabBar = tabBarViewController.tabBar;

for(UITabBarItem *tabItem in tabBar.items)
{
   //in reality you will probably change these images and grab from the array individually
   UIImage *selectedImage = [UIImage imageNamed:@"selected.png"];
   UIImage *unselectedImage = [UIImage imageNamed:@"unselected.png"];

   [tabItem setFinishedSelectedImage:selectedImage withFinishedUnselectedImage:unselectedImage];
}

или вы можете просто использовать прокси-сервер для изменения всех UITabBarItem с помощью

[UITabBarItem appearance]
0 голосов
/ 25 октября 2011

Вы можете использовать прокси внешнего вида для UIBarItem и UITabBarItem, чтобы выполнить это.

Из документации Apple:

Настройка внешнего вида

В iOS v5.0 и более поздних версиях вы можете настроить внешний вид панелей вкладок, установив атрибуты текста метки элемента с помощьюВнешний вид селекторов объявлен UIBarItem.Вы также можете использовать методы, перечисленные в разделе «Настройка внешнего вида». Вы можете настроить внешний вид всех сегментированных элементов управления, используя прокси-сервер внешнего вида (например, [UITabBarItem Appearance]), или только одну панель вкладок.Вы также можете предоставить готовые выбранные и невыбранные изображения, используя методы, перечисленные в «Управление готовым выбранным изображением»;однако эти методы не участвуют в прокси-API UIAppearance (см. UIAppearance).UIKit теперь обеспечивает автоматическую обработку готовых изображений.Для получения хороших результатов необходимо предоставить готовые выбранные и невыбранные изображения в совпадающих парах, используя setFinishedSelectedImage: withFinishedUnselectedImage:.

...