当UISlider值改变时会调用什么?

Mic*_*ael 67 objective-c uislider

难道一个方法被调用时UISlidervalue变化?我希望能够根据UISliders值更新值,但只有在更改时...

谢谢你的帮助.

小智 169

在IB中,您可以连接IBActionValue Changed event或在代码中添加目标/操作UIControlEventValueChanged.例如:

[mySlider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];

- (IBAction)sliderValueChanged:(UISlider *)sender {
    NSLog(@"slider value = %f", sender.value);
}
Run Code Online (Sandbox Code Playgroud)

请注意,如果您希望以用户身份更改值更改事件sliding,请确保还设置了slider's' continuous property.另一方面,如果您不希望事件以用户身份触发,sliding并且仅在完成滑动时触发,请将"连续"设置为"否"(或在IB中取消选中).


Kev*_*OUX 6

对于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
}
Run Code Online (Sandbox Code Playgroud)