在 0 到 2.0 范围内将 UISlider 增加 0.2 [重复]
Posted
技术标签:
【中文标题】在 0 到 2.0 范围内将 UISlider 增加 0.2 [重复]【英文标题】:Increment UISlider by 0.2 in range 0 to 2.0 [duplicate] 【发布时间】: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 等等...
如有任何帮助,将不胜感激。
【问题讨论】:
说真的??你已经问过同样的问题了…… 【参考方案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 你欢迎 :)以上是关于在 0 到 2.0 范围内将 UISlider 增加 0.2 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
我应该如何在核心数据中存储从 UISlider 读取的百分比值?