RangeSlider для указания диапазона высот (в футах и ​​дюймах) с помощью NumberFormatter - PullRequest
0 голосов
/ 21 мая 2018

Я использую RangeSlider, который является типом UIControl:

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

1 Ответ

0 голосов
/ 21 мая 2018

Вы должны иметь возможность просто назначить экземпляр вашего нового средства форматирования чисел свойству ползунка numberFormatter:

slider.numberFormatter = HeightFormatter()
...