xcode 如何将UISlider的滑动限制在某一点?

1u4esq0p  于 2023-02-20  发布在  其他
关注(0)|答案(2)|浏览(158)

我有一个UISlider & UIProgressView,我给它设置了一个特定的值。然后滑块手柄移动到一个最大值,就像预期的那样。
UISlider and UIProgressview Image
现在,我想让用户将滑块滑动到那个红点。(如图所示)

例如,我有一个UISlider,其 max值为100min值为0。但是,我想将 sliderthumb image 设置为不穿过滑块内的某个点。

我不希望用户比进度色调“更靠左”滑动,但在进度色调的“右侧”,我希望让用户来回滑动手柄,直到图中的红点。或者,换句话说:我想让UISlider“坚持”progressView的进度色调。如果进度是80...进度色调将显示最多80,并且滑块应该从该红点精确开始。
这种行为在Swift中可能吗?

**解决方案:-**我只是通过故事板创建了一个视图,并调整了progressview和sliderview之间的图像视图,将进度设置为“1”,并使用乘数约束对progressview进行宽度约束。

2nc8po8w

2nc8po8w1#

给您。

var prevValue : Float = 0.0

@IBAction func sliderChangeValue(_ slider: UISlider) {

    if slider.value < prevValue {

        slider.value = prevValue;
    }
    else{

        prevValue = slider.value;
    }
}

这个很好用,刚测试过.

hjqgdpho

hjqgdpho2#

您可以将滑块设置为在值更改时发送,并在该操作中将滑块的值设置为等于“progress”的值(如果它变低)。

相关问题