ios - UISlider 的左侧增量与右侧增量不同

标签 ios objective-c uislider

我正在使用 UISlider 来调整图像的白平衡,它是以 ºK 为单位计算的(虽然,根据我对光的理解,我认为它是倒退的?不过......)

如果我将默认值设置为 5000ºK,当我向左移动 slider 时,图像比向右移动时更蓝。为了缓解这种情况,我煞费苦心地创建了一个不同于右侧增量的左侧增量(左侧恰好延伸右侧的 1/4,因此最小值为 4000ºK,最大值为 9000ºK)。

现在可以了,但是 slider 不再位于中间:

enter image description here

有没有办法调整 slider 的范围,使左侧放大为右侧的 4 倍?

最佳答案

您可以使用这个公式:

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);

这是我自己做的。所以需要更多测试。

关于ios - UISlider 的左侧增量与右侧增量不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32731642/

相关文章:

ios - 在顶部添加单元格时使 UITableView 保持滚动位置

ios - 在 UITableView 中绘制文本 - 文本不显示

ios - @objc 在幕后做了什么?

user-interface - 通过脚本控制统一 ui slider

ios - 使用 URL Scheme 从 iOS 应用程序导航到 LinkedIn-Learning iOS 应用程序

ios - 如何获得 map 上的中心位置和可见半径?

ios - 如何在 RXSwift 中重置 Observable 间隔运算符?

iphone - 如何滑动 tableviewcell 以获取部分中的特定行

ios - 如何根据 Swift 4 中 UISlider 的值使用 JSON 中的数据更改 UITextfield 文本?

ios - 速度 slider 问题 - 鼓音序器 Obj - C