当UISlider值发生变化时会调用什么?
当UISlider
的value
发生变化时,会调用一个方法吗? 我想能够更新基于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
更改值,请确保slider
的continuous 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]; }