UISlider发送者valuechanged

Cyb*_*erK 3 iphone xcode objective-c

我在表单上使用多个UISliders,我只想要一种方法来跟踪滑块的变化.

现在我有一个方法:

- (IBAction) slider1ValueChanged:(UISlider *)sender {  
    somelabel.text = [NSString stringWithFormat:@" %.1f", [sender value]];  
}
Run Code Online (Sandbox Code Playgroud)

但是因为我使用多个滑块,我想使用switch语句来触发特定的滑块,所以例如如果我有2个滑块,并且它们都使用上面的ValueChanged方法,我想要类似的东西:

    - (IBAction) slider1ValueChanged:(UISlider *)sender {
switch(SLIDERID)
case SLIDER1:
      blabla;
      break;
case SLIDER2:
      update other label;
      break;
case default:
      break;
            somelabel.text = [NSString stringWithFormat:@" %.1f", [sender value]];  
    }
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

提前致谢!

Sea*_*ell 10

您只需要将sender参数与滑块进行比较,以确定哪个移动了:

-(IBAction) sliderValueChanged:(UISlider*)sender {
    if (sender == self.temperatureSlider) {
        // ...
    } else if (sender == self.altitudeSlider) {
        // ...
    } // etc
}
Run Code Online (Sandbox Code Playgroud)

然后将所有滑块挂钩到IB或通过此操作-setTarget.