2012-04-30 6 views
1

У меня есть UISlider с minimumValue 0 и maximumValue. Я хочу сделать interval из 0.5 и показать его в label (он работает).Установите интервал UiSlider на 0,5

Как установить интервал моего slider? Я попробовал решение для округления значения ... но я потерпел неудачу.

Спасибо

+0

Что у вас не получилось? – kennytm

ответ

15
float RoundValue(UISlider * slider) { 
    return roundf(slider.value * 2.0) * 0.5; 
} 
+0

Спасибо! Можете ли вы объяснить мне этот код? Я не понимаю операцию 2.0 – Sebastien

+0

'roundf (float)' rounds до ближайшего целого. получить половинки в домене, умножить на 2.0, округлить до ближайшего int, а затем повернуть его обратно в исходный диапазон, умножив на 0,5 (т. е. обратно пропорционально ранее уменьшенному количеству). – justin

+0

Благодарим вас за объяснение. – Sebastien

0

когда я делаю что-то подобное, что я принять такой подход, как следующее:

#define kSTEPFRACTION .5 

SliderMin = 0 
sliderMax = 20 

и получить значение тетив что-то подобное

value = slider.value*kSTEPFRACTION; 

это даст вам значения от 0 до 10 с шагом 0,5

sebastian