如何在不更改当前最小和最大滑块值的情况下转换UISlider值

时间:2015-07-21 14:22:09

标签: ios math

我有2个滑块,两个滑块的最小值和最大值都设置为0和1.在图片中,它们模拟了最多300个总帧数的变化斜坡值。

enter image description here

对于第一个滑块,我使用

正确获得0-150帧的范围

int selectedFrameCount = 300; int currentSelectedFrameValue = sender.value * (selectedFrameCount/2);

我想知道如何使用第二个滑块获得150-300帧的范围而不更改最小和最大UISlider值,因为我需要这些值进行单独计算。

对于单独的函数,我需要根据所选的0-1值将该值从选定的150-300值转换回浮点数。

example: 285 = x * (300/2) + 150;

2 个答案:

答案 0 :(得分:1)

它不像

那么简单
>

答案 1 :(得分:1)

你必须把你的计算器想象成一个函数(它是,所以你不能想象它:D)

parameters是你想要的int yx

sender.vale

如果您想在y(x) = x * (selectedFrame/2)上翻译y-axis上的行,则必须将其添加到线性等式selectedFrame/2的{​​{1}}值

所以,解决方案是

q

要将int值转换为0-1范围内的浮点值,请使用此

y(x) = mx + q int value = sender.value * (selectedFrame/2) + (selectedFrame/2)

multipliedMaxValue  = selectedFrame

如果你想要multipliedSelectedValue = value,请执行

multipliedMaxValue : 1 = multipliedSelectedValue : x