UISlider的editingDidEnd事件不适用于iPad
问题描述:
我想在触发UISlider结束时触发一种方法。我在xib中使用了UISlider的“editingDidEnd”事件并将其附加到IBAction方法,但该方法未被调用。可以任何人请帮助我如何知道在UISlider上滑动结束的时间?UISlider的editingDidEnd事件不适用于iPad
答
UISlider从UIControl继承,所以你应该能够添加和行动的 “UIControlEventTouchUpInside”
试着这么做:
[slider addTarget:self action:@selector(sliderTouchUpInsideAction:) forControlEvents:UIControlEventTouchUpInside];
希望这有助于 文森特
答
您可以连接到“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
确定这种方法在触摸发生时触发我的方法,但我想知道何时触摸滑块已结束。 – Hariprasad 2011-05-02 12:34:41
当手指向上时,如果手指仍处于控件的边界内,则会触发内部触摸,所以问题必须在其他位置:“手指位于控件内部的触摸事件控制“。 – vdaubry 2011-05-02 12:55:21
是它的工作vdaubry!非常感谢。 – Hariprasad 2011-05-02 13:05:46