2011-05-02 5 views
2

UISlider를 슬라이드 할 때 하나의 메서드를 트리거하려고합니다. xib에서 UISlider의 "editingDidEnd"이벤트를 사용하고 IBAction 메서드에이를 첨부했지만 메서드가 호출되지 않습니다 .Can 어느 누구도 슬라이딩이 언제 UISlider에서 끝나는지를 어떻게 알 수 있습니까? 당신이 "UIControlEventTouchUpInside"UISlider의 editingDidEnd 이벤트가 iPad에서 작동하지 않습니다.

에 추가하고 행동 할 수 있어야하므로

답변

6

UISlider은 UIControl로부터 상속 같은 것을보십시오 :이 도움이

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

희망, 빈센트

+0

ok이 접근 방식은 터치 할 때 내 메서드를 트리거하지만, 슬라이더의 터치가 끝난 시점을 알고 싶습니다. – Hariprasad

+1

손가락이 컨트롤의 경계에있는 동안 손가락을 들어 올리면 내부가 위로 움직입니다. 문제는 다른 곳에서 발생해야합니다. "손가락이 범위 내에있는 컨트롤의 터치 업 이벤트 제어." – vdaubry

+0

예, 작동하는 vdaubry! 대단히 감사합니다. – Hariprasad

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 물었다. –

관련 문제