iPhone - динамическое изменение цветов

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

Я получаю три значения от пользователя. Если первое значение равно 30, мне нужно установить зеленый цвет в диапазоне от 0 до 30. Если второе значение равно 70, мне нужно установить желтый цвет до диапазона 70. Аналогично для третьего значения мне нужно установить максимальное значение. значение и установите красный цвет. введите здесь описание изображения

Изменение цветового кода представления не имеет большого значения. Но я понятия не имею, как динамически устанавливать цвета в определенном диапазоне (неправильной формы).

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

Помогите мне продолжить. Заранее спасибо..!


person iOS    schedule 27.11.2012    source источник
comment
Как вы сейчас устанавливаете цвета? Вы используете UIView с закругленными углами? Или UIImageView?   -  person Paramasivan Samuttiram    schedule 27.11.2012
comment
ты про градиенты?   -  person jimpic    schedule 27.11.2012
comment
Вы должны предоставить нам больше информации, чем это. Как вы сейчас рисуете счетчик? Это статическое изображение, которое вы показываете, или вы создаете изображение в коде?   -  person Nick Bull    schedule 27.11.2012
comment
если вы не получите никакого ответа, просто сделайте одно... сделайте другое изображение и установите это изображение для просмотра в соответствии с вашим движением булавки.   -  person Rajneesh071    schedule 27.11.2012


Ответы (1)


Я думаю, самый простой способ -

Добавьте 3 отдельных слоя UIView к родительскому слою UIView.

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

Эти подпредставления представляют собой простые прямоугольники.

Теперь - вот где начинается самое интересное:

Вы должны вращать и позиционировать каждое подвид отдельно - соответственно тому, как оно должно быть.

Это также можно сделать динамически, но это будет немного сложнее.

Просто следуйте этим инструкциям, чтобы повернуть UIView:

http://iphonedevsdk.com/forum/iphone-sdk-development/4181-rotating-an-uiimageview-around-an-arbitrary-point.html

Повернуть UIImageView вокруг точки вне экрана? (центр uiImageView

повернуть UIView/UITableView вокруг точки

Как повернуть представление вокруг точки привязки несколько раз

И в конце — замаскировать родительский UIView, чтобы все подвиды были обрезаны и выглядели как неправильные формы.

Вот учебник, как это сделать: Как замаскировать изображение в IOS SDK?

Удачи!

person Guntis Treulands    schedule 27.11.2012