0

我有 4 个 UISlider 需要具有 1-5 的值,其中 1 是最小值,5 是最大值。

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

我还设置了插座等,并在界面生成器中设置了最小值和最大值

但是,当我滚动滑块时,它只是滑动而不是坚持 1-5 比例。

我尝试了以下操作并且失败了,因为我在其他一些 SO 问题上看到了这一点

- (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 函数也出现错误。

4

1 回答 1

1

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

于 2013-02-05T06:49:00.420 回答