0

には 4 つの値がありUISliderます。スライダーの値が変更されたときに、次の値を表示する必要があります

  if (slider.value==0)
  {
      label.text="5";
  }
  else if(slider.value==1)
  {
      label.text="10"
  }
  else
  {
      label.text="15";
  }
4

2 に答える 2

2

Interface Builder でUISlider のValue Changedイベントへの接続を作成する必要があります。次のようなメソッドを実装できます。

- (IBAction)sliderValueChanged:(UISlider *)slider {
    if (slider.value < 1) {
        self.label.text = @"5";
    }
    else if (slider.value < 2) {
        self.label.text = @"10";
    }
    else {
        self.label.text = @"15";
    }
}

プログラムでイベントをフックする場合は、次を使用できます。

[self.mySlider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];

スライダーは小数点以下の桁数で値を報告することに注意してください。そのため、値が整数に等しいケースはまれです。上記のように、以下のチェックを使用するようにロジックを変更します。

于 2012-08-13T08:15:10.020 に答える
1
if (slider.value == 0) {

if (slider.value == 1) {

間違っています-==(および!=)演算子を使用して浮動小数点数を比較することはできません-正確な値ではないためです。次のようなことをする必要があります。

if (slider.value < 0.001) {

if (slider.value > 0.999) {
于 2012-08-13T08:36:02.907 に答える