2015-02-27 2 views
2

В принципе, я хочу создать пользовательский прогресс, который будет иметь разные цвета в зависимости от значения прогресса. Он должен выглядеть следующим образом:Можно ли добавить несколько цветов в UIProgressView?

[----- Красный ----] [- Желтый -] [- зеленый-]

+0

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

+0

Штабелированном. Да, я полагаю, мне пришлось бы создать пользовательский uiview. Но было интересно, возможно ли это. – Frank

+0

Вы достигли этой функциональности? –

ответ

0

1) Создание образа, который имеет нужный цвет градиент в некоторой программе редактирования изображений.

2) Поместите изображение в свою библиотеку активов.

3) Создайте экземпляр UIImage из соответствующего изображения.

UIImage *image = [UIImage imageNamed:@"imageName"]; 

4) Назначить экземпляр UIImage к progressImage свойству UIProgressView.

self.progressView. progressImage = image; 
+0

не будет ли это просто расширять изображение прогресса. вы все равно увидите полный цвет градиента в течение всего хода? – Frank

+0

AFAIK no. Правильная часть прогресса покрывается свойством trackImage. –

2

Или вы можете посмотреть на этой библиотеке https://github.com/YannickL/YLProgressBar

+0

кажется, что в демоверсии он расширяет цвет градиента. в моем случае, я просто хочу, чтобы он отображал красный в определенный момент, тогда желтый, а затем зеленый, в зависимости от прогресса. – Frank

+0

«YLProgressBar» теперь поддерживает такие функции, устанавливая свойство 'progressStretch'' NO'. Примечания: Я сторонник проекта. –

Смежные вопросы