我有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函数也出错了。
答案 0 :(得分:1)
Objective-C不是Java,getter的命名约定是不同的。使用value
代替getValue
(无论如何,为什么不将sender
声明为UISlider *
?)