测试已测试 | ✗ |
Lang语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2016年11月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 hsusmita 维护。
一个自定义的 UIControl,其功能类似于 UISlider,您可以设置多个具有不同步长值的间隔。当间隔跨越大量值时非常有用,例如房地产的价格。在这种情况下,方便将大间隔分成更小的间隔,每个间隔都有自己的步长值。
在您的 pod 文件中添加以下行
pod ‘MultiStepSlider’, '~> 1.3'
import ‘MultiStepSlider’
在界面构建器中,拖动一个 UIView,并将其类设置为 MultiStepSlider。
可以通过以下方法配置 MultiStepSlider。
func configureSlider(intervals intervals: [Interval], preSelectedRange: RangeValue?)
第一个参数是类型为 Interval 的数组,定义为
public struct Interval {
var min: Float = 0.0
var max: Float = 1.0
var stepValue: Float = 1.0
}
第二个参数是类型为 RangeValue 的,定义为
public struct RangeValue {
var lower: Float = 0.0
var upper: Float = 0.0
}
这指定了下指栓和上指栓的初始位置。 RangeValue 的 lower 和 upper 应该位于指定的间隔内,并且应该是有效的节点值。例如,如果有间隔 Interval(min: 50000, max: 100000, stepValue: 10000),则 60000 将是有效的节点,而 65000 则不是。在这种情况下,将显示警告。
Warning: Range contains invalid node
@IBOutlet weak var slider: MultiStepRangeSlider!
override func viewDidLoad() {
super.viewDidLoad()
let intervals = [Interval(min: 50000, max: 100000, stepValue: 10000),
Interval(min: 100000, max: 1000000, stepValue: 100000),
Interval(min: 1000000, max: 3000000, stepValue: 500000)]
let preSelectedRange = RangeValue(lower: 80000, upper: 500000)
slider.configureSlider(intervals: intervals, preSelectedRange: preSelectedRange)
print("continuous: lower = \(slider.continuousCurrentValues.lower) higher = \(slider.continuousCurrentValues.upper)")
print("discrete: lower = \(slider.discreteCurrentValue.lower) higher = \(slider.discreteCurrentValue.upper)")
}
这是类型为 RangeValue,并给出离散的上限和下限值。
这是类型为 RangeValue,并给出连续的上限和下限值。
用于着色下指栓和上指栓之外的轨迹部分的颜色。
默认颜色是 lightGrayColor。
用于着色位于lowerValue和upperValue范围内的轨道部分的颜色。
默认颜色为#007AFF(rgba = 0, 122, 255, 1)
该属性用于控制轨道两端的曲率。该属性的值可以从0到1。
trackCurvaceousness = 0.0
trackCurvaceousness = 1.0
该属性用于控制滑块的曲率。该属性的值可以从0到1。
trackCurvaceousness = 0.5
trackCurvaceousness = 1.0
将此属性设为true将在滑块周围显示阴影。
MultiStepSlider在MIT许可下可用。