UISliders の値を線形ではなく対数的に変化させるための推奨される方法はありますか? たとえば、スライダーの前半では値が 0 から 25 に変化し、後半では 25 から 100 に変化します。
1 に答える
0
残念ながら違います。ただし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;
}
于 2012-05-30T00:49:35.433 に答える