我有一个 UISlider
和 UIProgressView
,我为其设置了某个值。然后, slider handle 会按预期移动到最大值。
UISlider and UIProgressview Image
现在,我想让用户将 slider 滑动到那个红点。 (如图所示)
例如,我有一个 UISlider
,其最大值为 100,最小值为 0。但是,我想将 slider 的拇指图像设置为不跨越 slider 内的某个点。
我不希望用户比进度色调“更向左”滑动,但在它的“右侧”,我想让用户来回滑动 handle 直到红点,如图所示如图。 或者,换句话说:我希望 UISlider “坚持”progressView 的进度色调。如果进度为 80..进度色调将显示最多 80,并且 slider 应从该红点精确开始。
这种行为在 Swift 中可能吗?
解决方案:- 我只是通过 Storyboard创建了一个 View ,并调整了进度 View 和 slider View 之间的 ImageView ,并将进度设置为“1”,并为进度 View 设置了带有乘数约束的宽度约束。
最佳答案
给你。
var prevValue : Float = 0.0
@IBAction func sliderChangeValue(_ slider: UISlider) {
if slider.value < prevValue {
slider.value = prevValue;
}
else{
prevValue = slider.value;
}
}
这工作正常。刚刚测试过。
关于swift - 如何将UISlider的滑动限制在某个点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41160148/