测试已测试 | ✗ |
Lang语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2017年1月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Ngo Hung 维护。
Swift中的自定义范围滑块。具有示例的良好文档。从 RangeSlider 分支并添加了一些增强特性。
您可以直接将 NHRangeSlider/NHRangeSlider 文件夹下的 2 个源文件(NHRangeSlider 和 NHRangeSliderView)复制到您的项目中。
默认情况下,标题标签不显示,左右滑块手柄将显示为圆形(curvaceousness
设置为 1)。您可以通过代码或故事板添加视图
override func viewDidLoad() {
super.viewDidLoad()
// default slider. Configure the frame
let sliderView = NHRangeSliderView(frame: CGRect(x: 16, y: 20, width: self.view.bounds.width - 32, height: 80) )
// call size to fit to resize the height to fit exactly
sliderView.sizeToFit()
self.view.addSubview(sliderView)
}
let sliderSquareView = NHRangeSliderView(frame: ...)
// set to 0 for square
sliderSquareView.curvaceousness = 0.0
sliderSquareView.trackHighlightTintColor = UIColor.red
sliderSquareView.lowerValue = 20.0
sliderSquareView.upperValue = 80.0
sliderSquareView.sizeToFit()
self.view.addSubview(sliderSquareView)
let sliderSquareWithLabelView = NHRangeSliderView(frame: ...)
sliderSquareWithLabelView.curvaceousness = 0.0
sliderSquareWithLabelView.trackHighlightTintColor = UIColor.brown
sliderSquareWithLabelView.lowerValue = 20.0
sliderSquareWithLabelView.upperValue = 80.0
// set title text
sliderSquareWithLabelView.titleLabel?.text = "Slider with title label"
sliderSquareWithLabelView.sizeToFit()
self.view.addSubview(sliderSquareWithLabelView)
let sliderWithLabelFollowView = NHRangeSliderView(frame: ...)
sliderWithLabelFollowView.trackHighlightTintColor = UIColor.black
sliderWithLabelFollowView.lowerValue = 30.0
sliderWithLabelFollowView.upperValue = 70.0
sliderWithLabelFollowView.gapBetweenThumbs = 5
// set style to follow
sliderWithLabelFollowView.thumbLabelStyle = .FOLLOW
sliderWithLabelFollowView.titleLabel?.text = "Slider with labels follow thumbs"
sliderWithLabelFollowView.sizeToFit()
self.view.addSubview(sliderWithLabelFollowView)
let sliderCustomStringView = NHRangeSliderView(frame: ...)
sliderCustomStringView.trackHighlightTintColor = UIColor.black
sliderCustomStringView.lowerValue = 30.0
sliderCustomStringView.upperValue = 70.0
sliderCustomStringView.stepValue = 10
sliderCustomStringView.gapBetweenThumbs = 10
sliderCustomStringView.thumbLabelStyle = .FOLLOW
sliderCustomStringView.titleLabel?.text = "Stepped slider with custom format"
sliderCustomStringView.lowerDisplayStringFormat = "Min: $%.0f"
sliderCustomStringView.upperDisplayStringFormat = "Max: $%.0f"
sliderCustomStringView.sizeToFit()
self.view.addSubview(sliderCustomStringView)
处理步进值。当拖动停止后,滑块将根据步进值跳转到滑块上的离散点。
sliderSquareWithLabelView.stepValue = 5.0
范围滑块视图(NHRangeSliderView)可以自定义,可以通过以下属性访问信息
titleLabel
: 标题标签(可选)lowerLabel
: 下手柄标签upperLabel
: 上手柄标签minimumValue
: 范围的最小可能值maximumValue
: 范围的最大可能值lowerValue
: 对应左侧滑块当前位置的值upperValue
: 对应右侧滑块当前位置的值stepValue
: 如果设置,将沿滑块捕捉到离散的步进点。默认为 nil。trackTintColor
: 轨道颜色trackHighlightTintColor
: 轨道中两个滑块之间的颜色thumbTintColor
: 滑块颜色thumbBorderColor
: 滑块边框颜色thumbBorderWidth
: 滑块边框宽度curvaceousness
: 从 0.0 的矩形滑块到 1.0 的圆形滑块lowerDisplayStringFormat
: 显示低于滑块值的格式。默认为 %.0f
以显示整数值。如果需要显示小数位或希望有不同的标签,请更改此设置。upperDisplayStringFormat
: 显示高于滑块值的格式。默认为 %.0f
以显示整数值。如果需要显示小数位或希望有不同的标签,请更改此设置。spacing
: 标签和滑块之间的垂直间距thumbLabelStyle
: 滑块标签的位置。设置为 STICKY 以将其置于左右位置。设置为 FOLLOW 以跟随左右滑块gapBetweenThumbs
: 滑块之间的最小距离
要监听值变化事件,您可以设置代理 (NHRangeSliderViewDelegate
):sliderValueChanged(slider:)