【问题标题】:How to get UISlider to step in decimals如何让 UISlider 步进小数
【发布时间】:2013-09-21 21:03:07
【问题描述】:

我有一个最小值 - 0.1 和最大值 - 1 的 UISlider。我希望显示值的标签显示小数,而不仅仅是 0 和 1。

这是当前代码:

- (IBAction)sliderChange:(UISlider *)sender { // When the slider for the power factor is moved
sender.minimumValue = 0.1;
sender.maximumValue = 1.0;
int progress = lround(sender.value);
self.sliderLabel.text = [NSString stringWithFormat:@"%d", progress];

}

如果有人可以帮助我,我将不胜感激。

【问题讨论】:

  • 只要去掉这一行,int progress = around(sender.value);这使小数变为整数。直接使用 as : self.sliderLabel.text = [NSString stringWithFormat:@"%f", sender.value];//默认slider返回float值。

标签: ios objective-c nsstring stringwithformat


【解决方案1】:

两件事:您的 progress 变量是一个 int。将其更改为CGFloat

接下来,尝试使用

[NSString stringWithFormat:@"%f", progress]

改为(注意 %f 而不是 %d)。 %f 用于浮点值,%d 用于整数。

这是官方[NSString stringWithFormat] formatting docs

【讨论】:

  • 他仍在四舍五入并将其转换为 int
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-08
  • 1970-01-01
  • 2014-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多