UISlider 划分范围

UISlider dividing into range

我想做这样的事情。我有一个UISlider,它的最小值应该是0,最大值应该是1000.And 我想把这个范围分成10份。像这样。

0-----100----200----300----400

当用户从0拖动滑块应该直接停在100的位置而不是在0到100之间停止当他从100拖动它应该直接跳到200不应该在100到200之间停止likewise.How我可以吗做这个?请帮助我。

谢谢

好吧,只需分配您的滑块范围 0...10 并将更改的值乘以 100

你必须这样做:

slider.maximumValue = 步数;

slider.minimumValue = 0;

slider.continuous = 否;

设置用

NSUInteger 索引 = (NSUInteger)(slider_value + 0.5);

[滑块 setValue:index animated:NO];

前一天我和你有同样的需求。使用默认的 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或者输出值。