59
A
回答
159
在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中取消选中)。
0
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];
}
4
对于斯威夫特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
}
嗨阿查里雅,欢迎SO,感谢您的回答。你能否编辑你的答案来描述如何解决OP的问题?这里不鼓励使用代码解答。谢谢! – 2016-06-20 04:56:52