我有UISlider
。通过增加它的值,它需要将 alphaUIImage
从 1 减少到 0(UIImage
位于同一视图上)。最大值-最小值:
UISlider:0 - 100
UIImage.alpha = 1 - 0
如果我理解正确,问题是写一个算法,什么会设置成对值的对应关系,例如:0,99 - 0,01, 0,98 - 0,02 ...
我有UISlider
。通过增加它的值,它需要将 alphaUIImage
从 1 减少到 0(UIImage
位于同一视图上)。最大值-最小值:
UISlider:0 - 100
UIImage.alpha = 1 - 0
如果我理解正确,问题是写一个算法,什么会设置成对值的对应关系,例如:0,99 - 0,01, 0,98 - 0,02 ...
如果您希望滑块值 100 为 alpha 1.0,请使用:
valueFromSlider / maxValueOfSlider
如果您希望滑块值 0 为 alpha 1.0,请使用:
1 - (valueFromSlider / maxValueOfSlider)
您只是获得了滑块距离的百分比,并将该百分比应用为 alpha(无论如何都以百分比起作用)。使用的第二种解决方案1 - ...
是简单地计算反数值。
通过此计算,您UISlider
可以有任何范围的值,从0-5
或0-25000
,并且仍然会计算正确的 alpha。唯一的区别是您可以更精细地控制具有更大范围的 alpha,这是有道理的,您有 25000 个可能的值,而不是 5 个(假设离散值,滑块可以是连续的)。
另一种选择是将滑块保留为默认最小值 0.0 和最大值 1.0。然后不需要转换。
如果您需要将滑块的当前值显示为 0 - 100,则将滑块的当前值乘以 100。