Я нашел один способ решения этой проблемы, если вы имеете дело с той же проблемой.По замыслу нет очевидного способа запросить анимированный большой палец UISlider.Запросы анимации хорошо работают для слоя, поэтому один из способов - создать собственный фон и анимировать слой, который является большим пальцем.
способ, которым я обошел это, - использование класса NSTimer.Как только я хочу, чтобы индикатор выполнения начал анимацию, я устанавливаю NSTimer с интервалом 0,1 с и вызываю функцию для обновления местоположения большого пальца.анимация до / после большого пальца (по мере продвижения левая часть синего цвета, а то, что осталось, все еще белого цвета) автоматически обрабатывается для вас.
вот код:
updateTimer = [NSTimer scheduledTimerWithTimeInterval:.01 target:self selector:@selector(updateCurrentTime) userInfo:p repeats:YES];
так, каждые 0,01 секунды этот метод вызывается, и он перерисовывает большой палец, создавая анимацию.нет необходимости в анимационном блоке.
это работает хорошо, и я доволен результатами.Я обеспокоен производительностью и буду измерять, насколько ресурсоемка эта реализация.возможно, будет хорошей идеей использовать первый вариант, который я упомянул выше.