【问题标题】:Animate changing a slider's maximum value更改滑块最大值的动画
【发布时间】:2019-01-10 18:20:10
【问题描述】:

我试图在设置新的最大值时为滑块设置动画。我设置了最大值,如下:

您可能对为什么会有 .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).

【问题讨论】:

    标签: ios swift uikit uislider


    【解决方案1】:

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

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

    【讨论】:

    • 我需要的完美快速答案,我会尽可能接受! :)
    猜你喜欢
    • 2013-06-24
    • 2012-02-06
    • 2015-11-10
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多