首页 文章

如何限制UISlider滑动到某一点?

提问于
浏览
0

我有一个 UISliderUIProgressView ,我设置了一定的值 . 然后滑块手柄移动到最大值,如预期的那样 .

UISlider and UIProgressview Image

现在,我想让用户将滑块滑动到该红点 . (如图所示)

例如,我有一个UISlider,其最大值为100,最小值为0.但是,我想将滑块的拇指图像设置为不跨越滑块内的某个点 .

我不希望用户比那个进度色调“向左”滑动但是在它的“右侧”,我想让用户来回滑动手柄,如图中的红点 . 或者,换句话说:我希望UISlider“坚持”progressView的进度色调 . 如果进度为80 ..进度色调将显示最多80,滑块应从该红点开始精确 .

这种行为在Swift中是否可行?

Solution:- 我只是通过故事板创建了一个视图,并在progressview和sliderview之间调整了一个图像视图,并将进度设置为'1',并使用乘数约束对progressview进行宽度约束 .

2 回答

  • 2

    干得好 .

    var prevValue : Float = 0.0
    
    @IBAction func sliderChangeValue(_ slider: UISlider) {
    
        if slider.value < prevValue {
    
            slider.value = prevValue;
        }
        else{
    
            prevValue = slider.value;
        }
    }
    

    这项工作很好 . 刚试过它 .

  • 0

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

相关问题