【问题标题】:Logarithmic UISlider对数 UISlider
【发布时间】:2012-05-30 00:38:25
【问题描述】:

是否有任何首选方法可以使 UISliders 值以对数而不是线性变化?例如,滑块前半部分的值从 0 变为 25,后半部分的值从 25 变为 100。

【问题讨论】:

    标签: cocoa-touch uislider


    【解决方案1】:

    很遗憾没有。但是您可以将滑块给出的float 值转换为您需要的数字。这是一个例子。

    float interpretedValue;
    if (sliderValue < 0.5) {
        interpretedValue = sliderValue * 25 / 0.5;
    } else {
        interpretedValue = (sliderValue - 0.5)*(100 - 25)/0.5 + 25;
    }
    

    我在方程式中保留了一些常数,以便您可以更轻松地进行调整。但为了获得最佳性能,我会简化它们。

    编辑,2013 年 1 月 17 日:

    我被要求提供一组方程式,这些方程式可以在给定解释值的情况下找到滑块值。他们在这里:

    float sliderValue;
    if (interpretedValue < 25) {
        sliderValue = interpretedValue * 0.5 / 25;
    } else {
        sliderValue = (interpretedValue - 25) * 0.5 / (100 - 25) + 0.5;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多