UISlider的左侧增量不同于右侧增量

时间:2015-09-23 05:29:35

标签: ios objective-c uislider

我正在使用UISlider来调整图像的白平衡,它是用ºK计算的(虽然从我对光的理解,我认为它是向后的?但是......)

如果我将默认值设置为5000ºK,当我向左移动滑块时,图像比向右移动时的图像要大得多。为了缓解这种情况,我煞费苦心地创造了一个与右手增量不同的左手增量(左边增量恰好是右边增量的1/4,因此最小值为4000ºK,最大值为9000ºK)。

现在这样可行,但滑块不再位于中间位置:

enter image description here

有没有办法可以调整滑块的范围,使左侧放大4倍?

1 个答案:

答案 0 :(得分:1)

您可以使用以下公式:

alpha: value of slider (0-1)

a: K value (e.g. 5000)

min: 4000

max: 9000

/// for getting alpha from K value
alpha = ((a - min)*4)/((a - min)*4 + (max - a));

/// for getting K value from alpha
a = (alpha*max - 4*min*(alpha - 1))/(4 - 3*alpha);

我自己这样做了。所以需要更多测试。