0

我有UISlider。通过增加它的值,它需要将 alphaUIImage从 1 减少到 0(UIImage位于同一视图上)。最大值-最小值:

UISlider:0 - 100

UIImage.alpha = 1 - 0

如果我理解正确,问题是写一个算法,什么会设置成对值的对应关系,例如:0,99 - 0,01, 0,98 - 0,02 ...

4

2 回答 2

1

解决方案

如果您希望滑块值 100 为 alpha 1.0,请使用:

valueFromSlider / maxValueOfSlider

如果您希望滑块值 0 为 alpha 1.0,请使用:

1 - (valueFromSlider / maxValueOfSlider)

为什么这行得通?

您只是获得了滑块距离的百分比,并将该百分比应用为 alpha(无论如何都以百分比起作用)。使用的第二种解决方案1 - ...是简单地计算反数值。

通过此计算,您UISlider可以有任何范围的值,从0-50-25000,并且仍然会计算正确的 alpha。唯一的区别是您可以更精细地控制具有更大范围的 alpha,这是有道理的,您有 25000 个可能的值,而不是 5 个(假设离散值,滑块可以是连续的)。

于 2012-11-13T16:22:29.667 回答
1

另一种选择是将滑块保留为默认最小值 0.0 和最大值 1.0。然后不需要转换。

如果您需要将滑块的当前值显示为 0 - 100,则将滑块的当前值乘以 100。

于 2012-11-13T16:24:24.013 回答