2010-11-02 2 views
5

Как и на табло, я хочу показать значок на UISegmentedControl. Поскольку я не вижу каких-либо предопределенных методов для UISegmentedControl так же, как доступно для UITabBar.UISegmentedControl с номером значка

alt text

Я думал о добавлении значка в качестве изображения только на нем, но, может быть, есть какой-то лучше.

ответ

12

Here это небольшая сторонняя библиотека. Я использовал для рисования значков на разных вещах. Это довольно хорошо. Например, изменение цвета значка в соответствии с моим дизайном было тривиальным.

После того, как вы принесете этот класс в свой проект и включить его в ваш контроллер представления, вы идете:

CustomBadge *customBadge1 = [CustomBadge customBadgeWithString:@"Badge 1"]; 

..., а затем добавить customBadge1 как подвид из любой вещи вы выдачи удостоверений личности.

+0

COOL сторонняя библиотека ... спасибо :) – Tariq

+0

Я создал подкласс UISegmentedControl, который использует эту библиотеку и упрощает прошивку - см. Мой ответ ниже. –

0

Не имеет свойства или метода значка - в отличие от панели вкладок. Если вы хотите сделать это, вам просто нужно поместить на него пользовательское изображение. Вы можете подклассифицировать сегментированный элемент управления и создать функцию, которая сделает это за вас.

+0

Да, я тоже думаю, что это возможно с использованием пользовательского изображения только. Спасибо за ответ – Tariq

6

У меня была эта проблема сегодня, поэтому я собрал подкласс UISegmentedControl, который позволяет вам легко устанавливать номера значков на каждом из сегментов.

Используя это так же просто, как:

[segmentedControl setBadgeNumber:1 forSegmentAtIndex:0]; 

Скриншот, документацию и исходный код на https://github.com/dave-thompson/MESegmentedControl.