1 ~ 5 の値を持つ必要がある 4 つの UISliders があり、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 関数でもエラーが発生します。