0

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 関数でもエラーが発生します。

4

1 に答える 1

1

Objective-C は Java ではありません。getter の命名規則は異なります。valueの代わりに使用します (とにかく、 as としてgetValue宣言しないのはなぜですか?)senderUISlider *

于 2013-02-05T06:49:00.420 に答える