如何将 UISlider 的滑动限制在某个点?
How to limit sliding of the UISlider to a certain point?
我有一个 UISlider
和 UIProgressView
,我为其设置了特定值。然后,滑块手柄将按预期移动到最大值。
UISlider and UIProgressview Image
现在,我想让用户将滑块滑到那个红点。 (如图)
例如,我有一个 UISlider
,最大值为 100,最小值为 0。但是,我想将滑块的缩略图设置为不穿过滑块内的某个点.
我不希望用户滑动 "more left" 而不是进度色调,但是在 "right" 上,我想让用户来回滑动手柄直到如图中的红点。
或者,换句话说:我希望 UISlider "stick" 到 progressView 的进度色调。如果进度为 80..进度色调将显示高达 80,并且滑块应从该红点开始。
这种行为在 Swift 中可能吗?
解决方法:-
我只是通过故事板创建了一个视图,并在 progressview 和 sliderview 之间调整了一个图像视图,并将进度设置为“1”,并为带有乘数约束的 progressview 设置了宽度约束。
您可以将滑块设置为在值更改时发送动作,并在该动作中将滑块的值设置为等于 'progress' 的值(如果它变低)。
给你。
var prevValue : Float = 0.0
@IBAction func sliderChangeValue(_ slider: UISlider) {
if slider.value < prevValue {
slider.value = prevValue;
}
else{
prevValue = slider.value;
}
}
这项工作很好。刚刚测试过。
我有一个 UISlider
和 UIProgressView
,我为其设置了特定值。然后,滑块手柄将按预期移动到最大值。
UISlider and UIProgressview Image
现在,我想让用户将滑块滑到那个红点。 (如图)
例如,我有一个 UISlider
,最大值为 100,最小值为 0。但是,我想将滑块的缩略图设置为不穿过滑块内的某个点.
我不希望用户滑动 "more left" 而不是进度色调,但是在 "right" 上,我想让用户来回滑动手柄直到如图中的红点。 或者,换句话说:我希望 UISlider "stick" 到 progressView 的进度色调。如果进度为 80..进度色调将显示高达 80,并且滑块应从该红点开始。
这种行为在 Swift 中可能吗?
解决方法:- 我只是通过故事板创建了一个视图,并在 progressview 和 sliderview 之间调整了一个图像视图,并将进度设置为“1”,并为带有乘数约束的 progressview 设置了宽度约束。
您可以将滑块设置为在值更改时发送动作,并在该动作中将滑块的值设置为等于 'progress' 的值(如果它变低)。
给你。
var prevValue : Float = 0.0
@IBAction func sliderChangeValue(_ slider: UISlider) {
if slider.value < prevValue {
slider.value = prevValue;
}
else{
prevValue = slider.value;
}
}
这项工作很好。刚刚测试过。