6

iPhoneアプリのUISliderによって出力される値を指数関数的に増加させる方法はありますか?たとえば、最初の3分の1は1 -10を生成し、2番目の3分の1は11から100を生成し、最後の3分の1は101から1000を生成しますか?

4

2 に答える 2

14

スライダーからlog/exp値を自分で計算し、この値を表示できます!

ただし、1〜1000の値が必要な場合は、スライダーの最小値を0に設定し、最大値を3に設定して、10の累乗にすることができます。

powf(10.0,mySlider.value)
于 2010-11-05T11:51:17.037 に答える
13

私はこの投稿からこれらのObjectiveCメソッドを導き出しました:対数スライダー

-(double) wpmForSliderValue: (double) sliderValue {
    // Input will be between min and max
    static double min = WPM_SLIDER_MIN;
    static double max = WPM_SLIDER_MAX;

    // Output will be between minv and maxv
    double minv = log(WPM_SCALE_MIN);
    double maxv = log(WPM_SCALE_MAX);

    // Adjustment factor
    double scale = (maxv - minv) / (max - min);

    return exp(minv + (scale * (sliderValue - min)));
}

-(double) sliderValueForWpm: (double) wpm {
    // Output will be between min and max
    static double min = WPM_SLIDER_MIN;
    static double max = WPM_SLIDER_MAX;

    // Input will be between minv and maxv
    double minv = log(WPM_SCALE_MIN);
    double maxv = log(WPM_SCALE_MAX);

    // Adjustment factor
    double scale = (maxv - minv) / (max - min);

    return (((log(wpm) - minv) / scale) + min);
}
于 2011-03-12T04:19:27.513 に答える