( ПРИМЕЧАНИЕ:. Я вижу, что есть несколько похожих вопросов по SO, но ни один из них, похоже, не справляется с моей конкретной проблемой, чтобы изменить невыбранный внешний вид как пользовательских, так и системных UITabBarItems.)
Я работаю в iOS7. У меня есть UITabBar с несколькими кнопками. Некоторые из них - мои кнопки, некоторые - системные кнопки. Пример:
UITabBarItem *searchButton = [[UITabBarItem alloc] initWithTabBarSystemItem: UITabBarSystemItemSearch tag: navSearchItem];
UITabBarItem *bookMkButton = [[UITabBarItem alloc] initWithTabBarSystemItem: UITabBarSystemItemBookmarks tag: navBookmarksItem];
UITabBarItem *homeButton = [[UITabBarItem alloc] initWithTitle: @"Home" image: [self tabBarImageNamed: @"home-tab"] tag: navHomeItem];
UITabBarItem *setingButton = [[UITabBarItem alloc] initWithTitle: @"Settings" image: [self tabBarImageNamed: @"settings-tab"] tag: navSettingsItem];
navTabBar.items = @[ searchButton, homeButton, bookMkButton, setingButton];
Я могу установить оттенок выбранной кнопки достаточно легко, используя:
[[UITabBar appearance] setSelectedImageTintColor: MY_FAVORITE_COLOR];
Я могу установить цвет текста невыбранного текста на белый:
[[UITabBarItem appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys: [UIColor whiteColor], UITextAttributeTextColor, nil]
forState: UIControlStateNormal];
Что я хочу сделать, это установить цвет оттенка кнопки НЕОБХОДИМЫЙ на белый. Я мог бы установить невыбранное изображение достаточно легко, но это работает только для моих кнопок. Я хочу сделать это и для системных кнопок. То есть, я хочу, чтобы кнопки поиска и закладок также были не выбраны - белые.
Я уверен, что Apple будет жаловаться, если я попытаюсь воссоздать свои значки, чтобы создавать пользовательские кнопки. Документы довольно конкретны, что мы не должны делать ничего отдаленно напоминающих иконки Apple.
подсказки?
Спасибо!
РЕДАКТИРОВАТЬ: Причина, по которой я хочу unselected = белый, заключается в том, что по сравнению с моим спроектированным фоном серый цвет по умолчанию делает иконки/текст жесткими на глазах.