1

我正在使用一个 UIControl 类型的 RangeSlider:

https://github.com/WorldDownTown/RangeSeekSlider

它有一个名为 numberFormatter 的属性。我想给滑块一个最小值和最大值,比如说,以英寸为单位(minValue = 48 英寸,maxValue = 96 英寸)......它应该以这种格式显示滑块上的高度:

48(英寸)将被格式化为字符串“4'0''”,即 4 英尺 0 英寸

49 英寸 -> "4'1''"

... 74 英寸 -> "6'2''"

等等

或英尺 -> 英尺和英寸:

6.08333 -> "6'1''" 等等。

如何为 RangeSlider 的实例指定这些格式?

这是 NumberFormatter 的文档:

https://developer.apple.com/documentation/foundation/numberformatter

我创建了 NumberFormatter 的子类。如何使 RangeSlider 实例在每次需要在两个拇指的标签上显示格式化高度时调用此覆盖函数?

class HeightFormatter : NumberFormatter{
    override func string(from number: NSNumber) -> String? {
        let feet = number.int32Value/12
        let inches = number.int32Value % 12

        let height = "\(feet)"+"'"+"\(inches)"+"\""
        return height
    }
}
4

1 回答 1

1

您应该能够将新数字格式化程序的一个实例分配给numberFormatter滑块的属性:

slider.numberFormatter = HeightFormatter()
于 2018-05-21T20:40:24.003 回答