2015-11-12 1 views
1

Я хотел бы рисовать прямоугольники на фоне клеток в виде таблицы, размер которого будет указывать на прогрессирование последующих задач:Как нарисовать индикатор прогресса на фоне ячейки в iOS 9?

enter image description here

Строка прогрессия должна взять на себя всю высоту из ячейка и ее ширина будут программно установлены, когда отображается TableView.

Я хотел бы знать, как получить этот результат с простым и эффективным подходом. Я не смог найти хорошие практики для рисования пользовательского фона для UITableViewCell s, используя CALayer или другое решение.

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

спасибо.

ответ

1

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

+0

Благодарим за ваш ответ, но это не похоже на элегантное и масштабируемое решение для меня. Мне нужно иметь возможность изменять цвет и непрозрачность индикатора выполнения, а также обеспечивать флюидную анимацию. –

+0

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

0

Другое решение требует создание представления о ходе программна в методе cellForRowAtIndex представления таблицы и добавить к cell.contentView, как подвид

UIProgressView *progressView = [[UIProgressView alloc] init]; 
[progressView setFrame:cell.frame]; 
[cell.contentView insertSubview:progressView atIndex:0]; 

Вы можете сделать progressview свойства альфа 0.5 или некоторого другого значения для того, чтобы ваших верхнего views in cell.contentView будет видимым правильно