RangeSeekSlider 1.8.0

RangeSeekSlider 1.8.0

测试已测试
Lang语言 SwiftSwift
许可证 NOASSERTION
发布最新发布2019年3月
SPM支持 SPM

WorldDownTown 维护。




RangeSeekSlider

Join the chat at https://gitter.im/WorldDownTown/RangeSeekSlider

License Language Carthage compatible CocoaPods compatible Downloads with CocoaPods Awesome

概览

RangeSeekSlider 提供了一个可自定义的范围滑动条,类似于 UISlider。这个库基于 TomThorpe/TTRangeSlider(Objective-C)并用 Swift 开发。

demo

演示

您可以在 Appetize.io 上尝试

或者

构建 Xcode 项目。

  1. 打开 RangeSeekSlider.xcodeproj。
  2. 将 Scheme 更改为 RangeSeekSliderDemo
  3. 运行

使用

将 RangeSeekSlider 添加到任何其他 UIControl 中,方法如下:

  • 在您的Storyboard/xib中添加一个视图,并将其ClassModule改为RangeSeekSlider。您可以在属性检查器中设置所有属性,并查看实时预览。

Interface Builder Module Screenshot

Interface Builder Screenshot

或者

  • 使用RangeSeekSlider()在代码中创建RangeSeekSlider,然后将其添加为子视图,并设置相关的自动布局属性或框架。

默认滑块的取值范围为0.0 -> 100.0,最小值为10.0,最大值为90.0。

用户选择的值通过selectedMinValueselectedMaxValue属性公开。如果您愿意,也可以使用这些属性以编程方式更改所选值。

使用以下属性进行控件的其他自定义

tintColor

染色颜色属性(您也可以在Interface Builder中设置)设置控件的总体颜色,包括线条、两个滑块和标签的颜色。

更改tintColor是安全的,如果控件当前可见,颜色更改将动画过渡到新颜色。

minValue

范围内可选择的最低可能值

maxValue

范围内可选择的最高可能值

selectedMinValue

预设的最小值(注意:这应该小于selectedMaxValue)

selectedMaxValue

预设的最高值(注意:这应该大于selectedMinValue)

minLabelFont

最小值文本标签的字体。如果未设置,默认为系统字体大小 12.0

maxLabelFont

最大值文本标签的字体。如果未设置,默认为系统字体大小 12.0

numberFormatter

滑块每个把手上方都会显示当前选择的值标签。如果您更改数字格式,请更新每个NumberFormatter属性。默认显示为十进制格式。

hideLabels

当设置为true时,滑块控制上方的标签将被隐藏。默认是false

labelsFixed

固定滑块控制上方的标签。如果设置为true,则标签将固定在两端的把手处。否则标签将与把手一起移动。默认是false

minDistance

所选两个滑块值必须保持的最小间距。默认是 0.0

maxDistance

两个所选滑动值之间必须保持的最大距离。默认值为CGFloat.greatestFiniteMagnitude

minLabelColor

最小值文本标签的颜色。如果未设置,则默认为tintColor。

maxLabelColor

最大值文本标签的颜色。如果未设置,则默认为tintColor。

handleColor

如果设置,将更新手柄的颜色。默认值是tintColor

colorBetweenHandles

colorBetweenHandles属性设置了两个手柄之间线的颜色。

handleBorderColor

如果设置,将更新手柄边框的颜色。默认值是tintColor

初始颜色

当手柄设置在最小值和最大值时,整个滑动条的颜色。默认为空。

禁用范围

如果设置为 true,控件将模拟一个正常滑动条,并且只有一个手柄而不是范围。

在这种情况下,所选的最小值将不再有效。请使用所选的最大值来决定用户选择的值。

启用步进

如果设置为 true,控件将之间每个步进点(属性)从一个最小值滑动到最大值。默认值是关闭。

步进

如果 启用步进 设置为 true,此控件将设置每个步进的值。例如,如果此值为 20,控制将自动调整到 20、40、60 等。在启用 启用步进 属性时设置此值。

手柄图片

如果设置,传递的图像将用于手柄。

手柄直径

如果设置,则更新手柄的大小。默认值为 16.0

selectedHandleDiameterMultiplier

如果设置,则更新当选中时手柄的缩放因子。默认值为 1.7。如果不想有任何缩放,请设置为 1.0

lineHeight

设置行的长度。它将自动圆角。如果未指定,则默认值为 1.0

handleBorderWidth

如果设置,则更新手柄边框的大小。默认值为 0.0

labelPadding

如果设置,则更新标签与手柄之间的填充大小。默认值为 8.0

minLabelAccessibilityLabel

最小值手柄在辅助功能模式中显示的标签。如果未设置,默认为空字符串。

maxLabelAccessibilityLabel

在辅助功能模式下显示的最大值处理器的标签。如果没有设置,默认为空字符串。

minLabelAccessibilityHint

在辅助功能模式下显示的最小值处理器的简短描述。如果没有设置,默认为空字符串。

maxLabelAccessibilityHint

在辅助功能模式下显示的最大值处理器的简短描述。如果没有设置,默认为空字符串。

func setupStyle()

当子类化 RangeSeekSlider 并在 setupStyle() 中设置每个项目时,设计也会在 Interface Builder 中体现。 setup_style.gif

要求

  • Swift 3.0+
  • iOS 9.0+

安装

Carthage

RangeSeekSlider 可以通过 Carthage 获取。要安装它,只需将以下行添加到您的 Cartfile 文件中。

github "WorldDownTown/RangeSeekSlider"

⚠️警告⚠️

当与 Carthage 一起安装时,@IBDesignable 不可用(Carthage 问题)。但是,我们在 Stack Overflow 中提供了一种解决方案。可以通过继承 RangeSeekSlider 来使用 @IBDesignable

@IBDesignable class CustomRangeSeekSlider: RangeSeekSlider {}

CocoaPods

RangeSeekSlider 可以通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 文件中。

pod 'RangeSeekSlider'

手动安装

下载并将 RangeSeekSlider/Sources 文件夹拖放到您的项目中。

作者

WorldDownTown, [email protected]

许可证

RangeSeekSlider 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。