UISlider在iPhone中更改值

时间:2012-08-13 08:07:39

标签: iphone uislider

我在UISlider中有4个值。我希望当滑块值更改时,它应显示以下值

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

2 个答案:

答案 0 :(得分: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];

请注意,滑块将报告带小数位的值,因此您的值等于整数的情况很少见。如上所示,将逻辑更改为使用小于支票。

答案 1 :(得分:1)

if (slider.value == 0) {

if (slider.value == 1) {

错误 - 您无法使用==(和!=)运算符比较浮点数 - 因为它们不是精确值。你应该这样做:

if (slider.value < 0.001) {

if (slider.value > 0.999) {