Анимировать изменение максимального значения слайдера - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь анимировать ползунок при установке нового максимального значения. Я установил максимальное значение, как таковое:

Вы можете быть смущены тем, почему существует свойство .slider - это мой собственный класс.

fingerSizeSlider.slider.maximumValue = Float(newValue) + 0.99

Я пытался использовать UIView.animate, который не работал, и я не могу сделать следующее:

fingerSizeSlider.slider.setValue(fingerSizeSlider.slider.value, animated: true)

Большой палец слайдера автоматически перемещается (что хорошо), но он не анимируется, и строка кода, расположенная непосредственно над ним, не оказывает никакого влияния (потому что, очевидно, я устанавливаю то же значение).

Как мне анимировать это maximumValue свойство слайдера?

Вот видео, иллюстрирующее проблему (рисунок слишком изменчив).

1 Ответ

0 голосов
/ 10 января 2019

Слайдер рисует сам, используя частные подпредставления. Вам нужно анимировать макет этих подпредставлений.

UIView.animateWithDuration(0.2) {
   fingerSizeSlider.slider.maximumValue = Float(newValue) + 0.99
   fingerSizeSlider.slider.layoutIfNeeded() 
}
...