TTRangeSlider
一个滑动条,样式类似于UISlider,但允许你选择最小和最大范围。
安装
TTRangeSlider可通过CocoaPods获取。要安装它,只需将以下行添加到Podfile中
pod "TTRangeSlider"
请注意,此控制台使用IB_DESIGNABLE,因此为了确保其效果良好且在Interface Builder中不出现警告,您应使用CocoaPods的最新版本,并添加use_frameworks!
行。因此,您的podfile可能看起来像这样
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
pod “TTRangeSlider”
使用
像使用任何其他UIControl一样添加TTRangeSlider。您可以像这样
- 在故事板/class中添加一个视图,并将其类型更改为
TTRangeSlider
。只要您使用 >= XCode6,您现在就可以像使用任何其他控件一样使用此控制,您可以在属性检查器中设置所有属性并看到实时预览
或
- 使用
[TTRangeSlider alloc] init]
在代码中创建TTRangeSlider
,然后将其添加为子视图到您的代码中,并设置相关的自动布局属性或框架。
默认滑动条范围从0->100,预选的最小值为10,最大值为90。
用户所选的值通过 selectedMinimum
和 selectedMaximum
属性暴露。如果您愿意,还可以使用这些属性以编程方式更改所选值。
获取更新
要通知滑块值的变化,请将您的操作方法注册到 UIControlEventValueChanged
事件。在运行时,当用户更改滑块值时,滑块将调用您的方法。
或者,您可以通过实现 TTRangeSliderDelegate
协议,并在 rangeSlider:didChangeSelectedMinimumValue:andMaximumValue:
方法中响应变化。
其他控件自定义可以通过以下属性完成
tintColor
该 tintColor
属性(您也可以在 Interface Builder 中设置)设置控件的总体颜色,包括线条、两个手柄和标签的颜色。
在任何时候更改 tintColor
都是安全的,如果控件当前可见,则颜色更改将以动画形式过渡到新颜色。
tintColorBetweenHandles
该 tintColorBetweenHandles
属性设置两个手柄之间的线条颜色。
minValue
在范围内选择的可能的最小值
maxValue
在范围内选择的可能的最大值
selectedMinimum
预先选择的最低值(注意:这应该小于selectedMaximum)
selectedMaximum
预先选择的最高值(注意:这应该大于selectedMinimum)
numberFormatterOverride
滑块中的每个手柄上都有一个标签显示当前所选值。默认情况下,它以十进制格式显示。
您可以通过提供自己的NSNumberFormatter来覆盖此默认设置。例如,您可以提供一个具有货币样式的NSNumberFormatter,或前缀或后缀。
如果此属性为nil,则使用默认十进制格式。注意:如果您想完全不显示标签,请将此值设置为(NSNumberFormatter *)[NSNull null]
(与nil不同),以明确标记您想不显示标签。
hideLabels
当设置为YES
时,将隐藏滑块控制上方的标签。默认为NO。
minDistance
两个所选滑块值必须保持的最小距离。-1表示无最小值。默认为-1。
最大距离
两个选定的滑块值必须间隔的最大距离。-1表示无最大间隔。默认为-1。
最小标签颜色
最小值文本标签的颜色。如果没有设置,则默认为tintColor。
最大标签颜色
最大值文本标签的颜色。如果没有设置,则默认为tintColor。
禁用范围
如果为true,控件将模拟普通滑块,并且只有一个手柄而不是范围。
在这种情况下,selectedMinValue将不再起作用。请使用selectedMaxValue来确定用户所选的值。
启用步长
如果为true,控件将自动“跳跃”到minValue和maxValue之间每个步长
(属性)的点上。默认值是禁用。
步长
如果enableStep
为true,则此属性控制每个步骤的值。例如,如果此值为20,则控件会跳转到20、40、60等值。设置此值是在启用了enableStep
属性的情况下进行的。
handleImage
设置后,将使用传递的图像作为手柄。
handleColor
设置后将更新手柄的颜色。默认值为tintColor
。
handleDiameter
设置后将更新手柄的大小。默认值是16.0
。
selectedHandleDiameterMultiplier
设置后更新选择手柄时的缩放因子。默认值为1.7
。如果您不想进行任何缩放,则将其设置为1.0
。
lineHeight
设置线的宽度。它将自动进行圆角处理。如果没有指定,默认值将是1.0
。
lineBorderWidth
为滑块的外部线条(不是范围内的线条)设置可选的边框。默认值为0。
lineBorderColor
如果设置了 lineBorderWidth
,则在此设置线的颜色。
handleBorderColor
如果设置了它将会更新手柄边框的颜色。默认为 tintColor
。
handleBorderWidth
如果设置了它将会更新手柄边框的大小。默认为 0.0
。
labelPadding
如果设置了它将会更新标签和手柄之间的填充大小。默认为 8.0
。
作者
Tom Thorpe
许可
TTRangeSlider 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。