使用 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()
我正在使用 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()