【问题标题】:Increment UISlider by 0.2 in range 0 to 2.0 [duplicate]在 0 到 2.0 范围内将 UISlider 增加 0.2 [重复]
【发布时间】:2012-10-17 05:21:19
【问题描述】:

可能重复:
Increment UISlider by 1 in range 1 to 100

我是 iPhone 新手,

如何让我的 UISlider 以 0.2 为增量从 0 变为 2?

slider = [[UISlider alloc] init];
[slider addTarget:self action:@selector(sliderChange:) forControlEvents:UIControlEventValueChanged];
[slider setBackgroundColor:[UIColor clearColor]];
slider.minimumValue = 0.0;
slider.maximumValue = 2.0;
slider.continuous = YES;
slider.value = 0.0;

- (IBAction)sliderChange:(id)sender{
    NSLog(@"slider.value=%f",slider.value);
}

当我滑动我的日志显示时...

slider.value = 1.000000
slider.value = 1.123440
slider.value = 1.234550
slider.value = 1.345670
slider.value = 1.567890
.
.
.

我希望滑块值为 0.0 、 0.2 、 0.4 等等...

如有任何帮助,将不胜感激。

【问题讨论】:

  • 说真的??你已经问过同样的问题了……

标签: iphone ios ipad uislider


【解决方案1】:

在您的 sliderChanged 方法中,从您的滑块中获取值,将其四舍五入到最接近的 0.2,然后将您的滑块的值设置为这个四舍五入的值。这会将滑块滑块捕捉到 0.2 个增量。

你可以这样舍入:

float roundedValue = roundf(value / 0.2f) * 0.2f;

(感谢@koki)

【讨论】:

  • 如何四舍五入到最接近的0.2?
  • 这是你的实际问题,否则这是一个完全重复的问题?
  • float roundedValue = roundf(value / 0.2f) * 0.2f;
  • @jrturton 你欢迎 :)
猜你喜欢
  • 2012-10-01
  • 2018-07-21
  • 2018-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多