2
是否有任何優選的方法讓UISliders值以對數形式而非線性變化?因此,例如,該值在滑塊的前半部分從0變爲25,在後半部分從25變爲100。對數UISlider
是否有任何優選的方法讓UISliders值以對數形式而非線性變化?因此,例如,該值在滑塊的前半部分從0變爲25,在後半部分從25變爲100。對數UISlider
不幸的不是。但是您可以將滑塊給出的float
值轉換爲您需要的數字。這是一個例子。
float interpretedValue;
if (sliderValue < 0.5) {
interpretedValue = sliderValue * 25/0.5;
} else {
interpretedValue = (sliderValue - 0.5)*(100 - 25)/0.5 + 25;
}
我已經在方程中留下了一些常數,因此您可以更輕鬆地進行調整。但爲了獲得最佳性能,我會簡化它們。
編輯,2013年1月17日:
我被要求提供一組方程,可以找到給出的解釋值滑塊值。它們是:
float sliderValue;
if (interpretedValue < 25) {
sliderValue = interpretedValue * 0.5/25;
} else {
sliderValue = (interpretedValue - 25) * 0.5/(100 - 25) + 0.5;
}