我有一个UISlider,幻灯片的范围从0.0到1.0。
开箱即用,滑块允许用户使用非常多的小数位数进行滑动,但我只希望我的用户能够在滑块的每个“勾号”上增加/减少.001。
这可以设置吗?
谢谢!
答案 0 :(得分:3)
这个滑块有多大?即使你在横向模式下跨越屏幕的整个宽度,它的变化只有大约半个像素。听起来你只需将滑块的值(在幕后)四舍五入到你想要的精度。
答案 1 :(得分:1)
非常简单的事情,例如: 一个3选择滑块(值为{0,1,2}),IBAction和IBOutlet连接到它。
-(float)roundValue:(float)value{
if(value <= 0.5) return 0;
if(value <= 1.5) return 1;
return 2;
}
-(IBAction)mySliderChanged:(id)sender {
float value = mySliderOutlet.value; // retrieve value via IBOutlet
value = [self roundValue:value];
// Update the slider to 'snap' in final position
[[self mySliderOutlet] setValue:value animated:YES];
}
答案 2 :(得分:0)
这应该可以解决问题:
- (void) getSliderValue:(UISlider *)paramSender{
float increment = 0.001;
float newValue = paramSender.value /increment;
paramSender.value = floor(newValue) * increment;
NSLog(@"Current value of slider is %f", paramSender.value);
}