首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对数UISlider

对数UISlider
EN

Stack Overflow用户
提问于 2012-05-30 00:38:25
回答 1查看 768关注 0票数 2

是否有任何更好的方法来使UISliders值以对数而不是线性方式变化?因此,例如,值在滑块的前半部分从0到25,在下半部分从25到100。

EN

回答 1

Stack Overflow用户

发布于 2012-05-30 00:49:35

不幸的是没有。但是,您可以将滑块给出的float值转换为所需的数字。下面是一个例子。

代码语言:javascript
复制
float interpretedValue;
if (sliderValue < 0.5) {
    interpretedValue = sliderValue * 25 / 0.5;
} else {
    interpretedValue = (sliderValue - 0.5)*(100 - 25)/0.5 + 25;
}

我在方程中留下了一些常量,这样你就可以更容易地调整。但是为了最大限度地提高性能,我会简化它们。

编辑,2013年1月17日:

我被要求提供一组方程,它可以在给定解释值的情况下找到滑块值。下面是它们:

代码语言:javascript
复制
float sliderValue;
if (interpretedValue < 25) {
    sliderValue = interpretedValue * 0.5 / 25;
} else {
    sliderValue = (interpretedValue - 25) * 0.5 / (100 - 25) + 0.5;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10808604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档