当UISlider值发生变化时会调用什么?

UISlidervalue发生变化时,会调用一个方法吗? 我想能够更新基于UISliders值的值,但只有当它更改…

谢谢你的帮助。

在IB中,可以将IBAction连接到Value Changed event或者在代码中添加UIControlEventValueChanged目标/操作。 例如:

 [mySlider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged]; - (IBAction)sliderValueChanged:(UISlider *)sender { NSLog(@"slider value = %f", sender.value); } 

请注意,如果您希望在用户sliding更改值,请确保slidercontinuous property也已设置。 另一方面,如果您不希望事件在用户sliding时触发,并且只有在完成滑动时,才将​​连续设置为NO(或者在IB中取消选中)。

对于Swift 3

 //There is your slider @IBOutlet weak var mSlider: UISlider! //add a target on your slider on your viewDidLoad for example self.mSlider.addTarget(self, action: #selector(MyClass.onLuminosityChange), for: UIControlEvents.valueChanged) //callback called when value change func onLuminosityChange(){ let value = self.mSlider.value } 
 ViewController.h @property (strong, nonatomic) IBOutlet UIProgressView *prgs; - (IBAction)slider:(id)sender; @property (strong, nonatomic) IBOutlet UISlider *slider1; @property (strong, nonatomic) IBOutlet UILabel *lbl; ViewController.m - (IBAction)slider:(id)sender { self.prgs.progress=self.slider1.value; self.lbl.text = [NSString stringWithFormat:@"%f", self.slider1.value]; }