UISlider的editingDidEnd事件不适用于iPad

问题描述:

我想在触发UISlider结束时触发一种方法。我在xib中使用了UISlider的“editingDidEnd”事件并将其附加到IBAction方法,但该方法未被调用。可以任何人请帮助我如何知道在UISlider上滑动结束的时间?UISlider的editingDidEnd事件不适用于iPad

UISlider从UIControl继承,所以你应该能够添加和行动的 “UIControlEventTouchUpInside”

试着这么做:

[slider addTarget:self action:@selector(sliderTouchUpInsideAction:) forControlEvents:UIControlEventTouchUpInside]; 

希望这有助于 文森特

+0

确定这种方法在触摸发生时触发我的方法,但我想知道何时触摸滑块已结束。 – Hariprasad 2011-05-02 12:34:41

+1

当手指向上时,如果手指仍处于控件的边界内,则会触发内部触摸,所以问题必须在其他位置:“手指位于控件内部的触摸事件控制“。 – vdaubry 2011-05-02 12:55:21

+0

是它的工作vdaubry!非常感谢。 – Hariprasad 2011-05-02 13:05:46

您可以连接到“UIControlEventValueChanged”滑块事件,并在事件处理函数中使用以下代码:

[slider addTarget:self action:@selector(handleValueChanged:event:) forControlEvents:UIControlEventValueChanged]; 

- (void)handleValueChanged:(id)sender event:(id)event { 
    UITouch *touchEvent = [[event allTouches] anyObject]; // there's only one touch 
    if (touchEvent.phase == UITouchPhaseEnded) { /* place your code here */ }} 
+0

这不是OP问。 – 2016-08-10 10:10:17