swift - 如何将UISlider的滑动限制在某个点?

标签 swift xcode uislider bounds uiprogressview

我有一个 UISliderUIProgressView ,我为其设置了某个值。然后, 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/

相关文章:

ios - 解析推送通知云代码错误?

json - 如何使用 swift 计算 JSON 的总数据?

xcode - swift : Trying to start MapKit location updates without prompting for location authorization

ios - Xcode 在 Ruby 错误编码中运行阶段脚本

iphone - UISLider 设置 thumb/minimumTrack/maximumTrack tint color 获取异常

swift - 没有这样的模块 '####'

ios - 约束/自动布局栏隐藏,Xcode 6

ios - 如何保存 UISlider 的位置(或当前值)?

swift - 如何更改使用 AVPlayer 播放的歌曲的音高?

使用 AnyObject 的 Swift 协议(protocol)属性 - 无法从 Objective-C 桥接数组