2013-10-25 1 views
0

В настоящее время я использую iOS 7's UIProgressView, чтобы отслеживать активность пользователя, которая продвигается вперед и назад. Я использую встроенные настройки анимации, такие как: [self.myProgressBar setProgress: 0.50 animated: YES]. Я замечаю, что анимация работает хорошо, когда продвигается вперед, но когда что-то заставляет двигаться вперед назад (в приложении есть несколько вещей, которые пользователь может сделать для регресса), анимация не происходит. Мне было интересно, есть ли на это работа, или по выбору дизайна анимация может идти только вперед, а не назад.Анимация UIProgressView как назад, так и вперед

Спасибо!

+1

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

+0

Спасибо за обнадеживающий ответ. Как бы вы точно реализовали его назад, хотя ... я просмотрел документацию Apple для UIProgressView и не нашел ни одного элемента, который мог бы изменить ... – daspianist

+1

У меня есть представление прогресса, которое делает именно это. Посмотрите на [lightdesign/LDProgressView] (http://github.com/lightdesign/LDProgressView) и дайте мне знать, если это сработает для вас. Я сейчас делаю это с таймером, но в версии 2.0 я, скорее всего, перейду в CAAnimations. –

ответ

0

Хотя это может не ответить на вопрос напрямую, для кого-то интересно, как инвертировать начальную и конечную точку компонента. Просто используйте CGAffineTransformMakeScale:

[yourProgressView setTransform:CGAffineTransformMakeScale(-1.0, sy)] 

-1,0 будет вращать его и прогресс будет установлен в обратном направлении. sy относится к шкале на оси y, обычно это будет 1.0, если вы хотите изменить высоту компонента, вы можете установить его на большее.