2012-05-30 6 views
2

UISliders 값을 선형 적으로 변경하는 대신 로그 방식으로 변경하는 데 선호되는 방법이 있습니까? 예를 들어, 슬라이더의 전반부에서 0에서 25로 변경되고 후반부에서는 25에서 100으로 변경됩니다.대수 UISlider

답변

0

불행히도. 그러나 슬라이더가 제공하는 숫자로 float 값을 변환 할 수 있습니다. 여기에 예제가 있습니다.

float interpretedValue; 
if (sliderValue < 0.5) { 
    interpretedValue = sliderValue * 25/0.5; 
} else { 
    interpretedValue = (sliderValue - 0.5)*(100 - 25)/0.5 + 25; 
} 

좀 더 쉽게 조정할 수 있도록 방정식에 몇 가지 상수를 남겼습니다. 하지만 성능을 극대화하기 위해 이들을 단순화했습니다.

편집 월 (17), 2013 :

나는 해석 값을 부여 슬라이더 값을 찾을 수 있습니다 방정식의 집합을 제공하도록 요청했습니다. 여기에 있습니다 :

float sliderValue; 
if (interpretedValue < 25) { 
    sliderValue = interpretedValue * 0.5/25; 
} else { 
    sliderValue = (interpretedValue - 25) * 0.5/(100 - 25) + 0.5; 
}