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 回答