UisegledControl с номером значка
-
28-09-2019 - |
Вопрос
Так же, как Tabbar, я хочу показать значок на UISegmentedControl
. Отказ Как я не могу видеть какие-либо предопределенные методы для UISegmentedControl
Так же, как доступно для UITabBar
.
Я подумал о добавлении значка как изображение только что сверху, но, возможно, есть какой-то лучший способ.
Решение
Здесь это маленькая сторонняя библиотека, которую я использовал для рисования значков на разных вещах. Это довольно мило. Например, изменение цвета значка соответствовать моему дизайну было тривиальным.
Как только вы принесете этот класс в свой проект и включите его в контроллер вашего просмотра, вы идете:
CustomBadge *customBadge1 = [CustomBadge customBadgeWithString:@"Badge 1"];
... а затем добавьте custombadge1 как субвейство чего-то, что вы проходите.
Другие советы
У меня была эта проблема сегодня, поэтому я собрал подкласс UISEMEDCONTOOLL, который позволяет легко устанавливать номера значков на каждом из сегментов.
Используя его так же просто, как:
[segmentedControl setBadgeNumber:1 forSegmentAtIndex:0];
Скриншот, документация и исходный код находятся в https://github.com/dave-thompson/meseglededControl. .
Нет никакой недвижимости или метода - в отличие от бара вкладок. Если вы хотите сделать это, вам просто нужно поставить пользовательское изображение над ним. Вы можете подкласс сегментированного контроля и создать функцию, которая делает это для вас.