我想做这样的事情。我有一个UISlider
,其最小值为0,最大值应为1000.我想将此范围分为10个部分。像这样。
0 ----- ---- 100 ---- 200 ---- 300 400
当用户从0拖动滑块时,它应该直接停在100位置,而不是在0和100之间停止,当他从100拖动它应该直接跳到200不应该同样停在100和200之间。我怎么能这样做?请帮帮我。
由于
答案 0 :(得分:3)
你必须这样做:
slider.maximumValue = numberOfSteps;
slider.minimumValue = 0;
slider.continuous = NO;
设置
NSUInteger index =(NSUInteger)(slider_value + 0.5);
[slider setValue:index animated:NO];
答案 1 :(得分:1)
好吧,只需指定滑块范围0 ... 10并将更改后的值乘以100
答案 2 :(得分:0)
前一天我和你一样有同样的需求。使用默认的UISlider,您只能递增+1或-1。因此,如果您希望增加其他值,则必须以编程方式执行此操作。
在你的情况下,试试这个:
- (IBAction)[yourUISlider]:(id)sender {
[[yourUISliderProperty] setValue:((int)(( [yourUISlider].value + 50) / 100) * 100) animated:NO];
NSLog(@"%d", [yourUISlider].value );
}
它对我有用,试一试:)
对于其他增量值,请在此处查看公式:
((int)(( [yourSlider] + [yourIncrement/2] ) / [yourIncrement]) *[yourIncrement])
然后NSLog或输出值。