2011-05-02 83 views
2

我想在觸發UISlider結束時觸發一種方法。我在xib中使用了UISlider的「editingDidEnd」事件並將其附加到IBAction方法,但該方法未被調用。可以任何人請幫助我如何知道在UISlider上滑動結束的時間?UISlider的editingDidEnd事件不適用於iPad

回答

6

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

6

您可以連接到「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

相關問題