UISlider需要具有1-5的范围并将其自身与最近的凹口对齐

时间:2013-02-05 06:47:30

标签: ios uislider

我有4个UISliders需要的值为1-5,其中1为最小值,5为最大值。

我已经设置了滑块并将它们称为slider1,slider2,slide3,slider4

我还设置了出口等,并在界面构建器

中设置最小值和最大值

然而,当我滚动滑块时,它只是滑动而不是坚持1-5级。

我尝试了下面的内容,但是当我在其他一些问题上看到这个问题时,我的情况非常糟糕

- (IBAction) sliderValueChanged:(id)sender
{

    [sender setValue:((int)((sender getValue] + 2.5) / 5) * 5) animated:NO];

}

更新:这似乎是一种解决方案

   - (IBAction) sliderValueChanged:(UISlider *)sender
{

    NSUInteger index = (NSUInteger)([sender value] + 0.5); // Round the number.
    [sender setValue:index animated:NO];
    NSLog(@"index: %i", index);

 //   NSNumber *number = [numbers objectAtIndex:index]; // <-- This is the number you want.
 //   NSLog(@"number: %@", number);

}
你能帮我解决这个问题吗?我上面的getValue函数也出错了。

1 个答案:

答案 0 :(得分:1)

Objective-C不是Java,getter的命名约定是不同的。使用value代替getValue(无论如何,为什么不将sender声明为UISlider *?)