使用 NumberFormatter 指定高度范围(以英尺和英寸为单位)的 RangeSlider

RangeSlider for specifying range of heights (in feet and inches) using NumberFormatter

我正在使用 RangeSlider,它是 UIControl 类型:

https://github.com/WorldDownTown/RangeSeekSlider

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

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

49 英寸 -> “4'1''”

... 74 英寸 -> “6'2''”

等等

OR 英尺 -> 英尺和英寸:

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
    }
}

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

slider.numberFormatter = HeightFormatter()