NHRangeSlider 0.2

NHRangeSlider 0.2

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

Ngo Hung 维护。



  • Ngo Hung 和 The Hung

NHRangeSlider

  

Swift中的自定义范围滑块。具有示例的良好文档。从 RangeSlider 分支并添加了一些增强特性。

要求

  • iOS: 8.0+
  • Xcode 8.1+
  • Swift 3.0+

安装

手动

您可以直接将 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:)

API 参考

https://thehung111.github.io/NHRangeSlider/