MultiStepSlider 2.0

MultiStepSlider 2.0

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最后发布2016年11月
SwiftSwift 版本3.0
SPM支持 SPM

hsusmita 维护。



  • Susmita Horrow

MultiStepSlider

一个自定义的 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
}

这指定了下指栓和上指栓的初始位置。 RangeValuelowerupper 应该位于指定的间隔内,并且应该是有效的节点值。例如,如果有间隔 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)")
}

属性

discreteCurrentValue

这是类型为 RangeValue,并给出离散的上限和下限值。

continuousCurrentValue

这是类型为 RangeValue,并给出连续的上限和下限值。

trackTintColor

用于着色下指栓和上指栓之外的轨迹部分的颜色。

默认颜色是 lightGrayColor。

trackHighlightTintColor

用于着色位于lowerValue和upperValue范围内的轨道部分的颜色。

默认颜色为#007AFF(rgba = 0, 122, 255, 1)

trackCurvaceousness

该属性用于控制轨道两端的曲率。该属性的值可以从0到1。

trackCurvaceousness = 0.0

trackCurvaceousness = 1.0

thumbCurvaceousness

该属性用于控制滑块的曲率。该属性的值可以从0到1。

trackCurvaceousness = 0.5

trackCurvaceousness = 1.0

shadowEnabled

将此属性设为true将在滑块周围显示阴影。

许可

MultiStepSlider在MIT许可下可用。

参考

https://github.com/warchimede/RangeSlider/