У меня есть UISlider, действующий как скруббер. Когда большой палец перетаскивается, я выполняю следующее:
- (void) _seekTo:(double)playbackTime {
mPlayer.currentPlaybackTime = playbackTime;
}
То работает нормально, музыка стремится вперёд. После отпускания большого пальца я перезапускаю NSTimer, чтобы отправлять обновления времени, чтобы поддерживать синхронизацию UISlider. Проблема в том, что после отпускания большого пальца первые несколько обратных вызовов содержат предыдущее значение времени. Это заставляет бегунок вернуться в исходное положение, прежде чем вернуться к новому значению. Очень некрасиво.
У кого-нибудь есть опыт с таким поведением и способ исправить? Я могу предоставить пример проекта, если вы хотите, чтобы продемонстрировать эту аномалию.