动画更改滑块的最大值

时间:2019-01-10 18:20:11

标签: ios swift uikit uislider

设置新的最大值时,我试图为滑块设置动画。我这样设置最大值:

您可能会对为什么有一个.slider属性感到迷惑-这是我自己的自定义类。

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

我尝试使用UIView.animate无效,并且无法执行以下操作:

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

滑块会自动移动(这很好),但不会动画,并且正上方的代码行无效(因为显然,我将其设置为相同的值)。

如何为滑块的maximumValue属性设置动画?

Here is a video to illustrate the issue (a gif is too choppy).

1 个答案:

答案 0 :(得分:0)

滑块使用私有子视图进行绘制。您需要为这些子视图的布局设置动画。

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