Мне нужно изменить цвет выделения UITabBar от голубого до красного. Как нам это сделать.Как изменить цвет выбора UITabBar
ответ
SDK не делает это легким, но это технически возможно. Apple, по-видимому, считает это частью своего видения последовательного внешнего вида.
UITabBar является подклассом UIView. Вы всегда можете подклассифицировать и реализовать свой собственный -drawRect:
Это не тривиальная задача, однако вы должны по существу повторно реализовать класс с нуля или вы рискуете некоторыми странными побочными эффектами.
iOS 5.0 исправляет эту проблему, но решение находится под NDA. Посмотрите UITabBar в своей документации на легкий способ сделать то, что вы хотите сделать.
В IOS5 UITabBar имеет свойство selectedImageTintColor, которое делает все, что вам нужно.
Это очень легко
Создание пользовательского класса UITabBarController и -(void)viewDidLoad
метода добавьте следующую строку:
[[self tabBar] setSelectedImageTintColor:[UIColor greenColor]];
, но это изменит цвет текста, а не всю область выделения. Любой способ добиться этого? –
Устаревший в ios 8 – codercat
Я искал способ, чтобы установить выбранный цвет текста в UITabBarItem и нашли мертвый простой метод, используя протокол UIAppearance.
Извините за ужасные цвета!
UITextAttributeTextColor устарел. Какая альтернатива? –
Я думаю, что это NSForegroundColorAttributeName –
Спасибо ... u r a genius .. –
В iOS 7 это просто оттенок цвета. Одним из способов достижения этой цели может быть подкласс UITabBarViewController, установить пользовательский класс в раскадровке, и в вашем viewDidLoad
способе наследника tabBarVC добавить следующее:
[[self tabBar] setTintColor:[UIColor redColor]];
Я постоянно, как и я: «Почему мне нужно создать подкласс для такой незначительной вещи, как смена цветов?». Хороший вопрос, почему f * не просто автоматически наследует tintColor из родительского представления? И почему настройка интерфейса не делает ничего? –
Как использовать SelectedImageTintColor в ios 8 – codercat
[self.tabBarController.tabBar setTintColor: [UIColor redColor]]; также будет делать трюк. –
Поскольку UITextAttributeTextColor осуждается в прошивке 7, вы должны использовать:
[UITabBarItem.appearance setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor greenColor]} forState:UIControlStateNormal];
[UITabBarItem.appearance setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor purpleColor]} forState:UIControlStateSelected];
Это работает как шарм в iOS 8 и 9. – AndyH
Обновление сентября 2017: Прошло два года с тех пор я написал этот ответ, и так как он регулярно получать upvotes, я должен сказать, что это, вероятно, худшее из возможных ответов на этот вопрос, он подвержен ошибкам, литий kely, чтобы ломаться из-за обновлений iOS, трудно отлаживать и т. д., поэтому, пожалуйста, не делайте то, что я написал, и применяйте лучшие решения, такие как подклассификация UITabBar или UITabBarController. Благодарю.
Вы можете сделать это, установив для вас UITabBar атрибут «tintColor» (Key Path).
- Выберите UITabBar в контуре документа. (NOT Контроллер с желтым значком.)
- Выберите «Инспектор идентификации» в области «Утилиты».
- Нажмите «+» в «Пользовательские атрибуты времени выполнения».
- Добавить «tintColor» Key Path типа «Цвет» и цвет, который вы хотите.
Это должно сделать это. Вы можете проверить его на скриншот ниже.
Подробнее об этом: Там есть атрибут «Оттенок» в удостоверении инспектор UITabBar, который я считал бы сделать то же самое, но, по-видимому, он ничего не делает. Значение по умолчанию - это точный цвет заливки по умолчанию, когда выбран UITabBarItem, поэтому я предполагаю, что он будет исправлен в стабильном выпуске Xcode 7. Пальцы пересекаются.
вы можете сделать это на xcode 6 тоже, хороший ответ, это должно быть решение –
Это работает на iOS 8 тоже ... – Ankahathara
похоже, что это еще не зафиксировано в официальном выпуске xcode 7 - этот ответ спас мне некоторую головную боль, спасибо! –
Начиная с прошивкой 8 это так просто, как:
UITabBar.appearance().tintColor = UIColor.redColor()
Просто измените следующие свойства в Interface Builder для TabBar
Очевидно, что в моем случае его Уайта.
Для достижения выше результата выполнить следующие шаги.
Шаг 1: Добавьте нужные изображения в Assets.xcassets
, и убедитесь, что они Render As
: Default
Шаг 2: Выберите UITabBar
объект и установить Image Tint
цвет, этот цвет будет выбранный цвет вкладки
Шаг 3: ВыберитеUITabBar
объект и добавить Key Path: unselectedItemTintColor
, Тип: Color
, Значение: Choose color for unselected item
в User Defined выполнения Атрибуты.
Все сделано.
- 1. Изменить цвет значка UITabBar
- 2. Как изменить UITabbar выбранный цвет?
- 3. Изменить цвет значка UITabBar
- 4. Как окончательно установить цвет фона UITabBar и цвет оттенка UITabBar
- 5. Как изменить цвет диалога выбора одного выбора?
- 6. настраивать цвет UITabBar в Xcode
- 7. Пользовательский UITabBar цвет невыделенного элемента
- 8. Как изменить цвет верхней границы UITabBar, создав программный код UIImage?
- 9. Изменить цвет выбора в FullCalendar
- 10. Как изменить размер изображения индикатора выбора UITabBar в ландшафте
- 11. Изменить цвет выбора WPF ListViewItem
- 12. Изменить цвет индикаторов выбора UIPickerView
- 13. Как изменить цвет текста опции первого выбора
- 14. Как изменить цвет выбора редактируемых полей qooxdoo?
- 15. kartik Select2 виджет. Как изменить цвет выбора?
- 16. Как изменить цвет фона выбора списка?
- 17. Как изменить цвет выделения в опции выбора?
- 18. Custom CTreeCtrl - Как изменить цвет текста/выбора
- 19. UITabBar выглядит как UIToolBar (изменение цвета UITabBar)
- 20. Как можно программно изменить цвет выбора подменю меню выбора?
- 21. Как мы можем изменить цвет индикатора выбора вида выбора?
- 22. Изменить цвет по умолчанию верхней границы линии UItabbar
- 23. uitabbar изменить цвет фона одного uitabbaritem на iOS7
- 24. Настройка поля выбора в UITabBar
- 25. Изменить выбранную вкладку UITabBar
- 26. Изменить изображение на UITabBar
- 27. Изменить цвет фона «Подробнее» UINavigationController в UITabBar в swift
- 28. Чтобы изменить цвет невыбранного значка UITabBar в iOS 7?
- 29. Изменить размер UITabBar (изображение)
- 30. Изменить цвет инструмента для выбора текста
Устаревший в iOS 8. – KPM
@KPM, я вижу, это устарело, но что мы должны использовать вместо этого? Это все еще работает на iOS 8, для чего это стоит. –
См. Ответ Кайла ниже. http://stackoverflow.com/a/18996564/364446 – KPM