Делаем UIProgressView более плавным

Я реализовал UIProgressView, который соответствует статусу загрузки файлов.

Все работает правильно, но поскольку я использую CloudKit, метод perRecordProgressBlock дает мне фрагменты статуса загрузки вместо плавной обратной связи о ходе выполнения.

Пока все хорошо, но так как я использую этот perRecordProgressBlock в качестве источника данных для моего UIProgressView, прогресс идет примерно так: 0.0, 0.15, 0.75, 0.99, и поэтому прогресс увеличивается блок за блоком, и я хочу сделать этот переход более плавным.

Когда он переходит от 0.15 к 0.75, вместо того, чтобы прыгать прямо к 0.75, могу ли я сделать так, чтобы он анимировался в эту позицию? Сделать его более гладким?

Спасибо.


person Ivan Cantarino    schedule 07.08.2017    source источник


Ответы (1)


Используйте animated: true при изменении хода выполнения.

progressView.setProgress(0.99, animated: true)

Если вы хотите установить пользовательское время перехода, установите animated на false и поместите код в блок UIView animate.

UIView.animate(withDuration: 0.35) {
    self.progressView.setProgress(0.99, animated: false)
}
person Tamás Sengel    schedule 07.08.2017
comment
Это не сглаживает прогресс для меня - person Xys; 01.12.2018