2010-11-25 6 views
0

버튼 이벤트가 있습니다. 버튼을 한 번 두드리면 (터치) 플립 동작을합니다. 더블 버튼을 누르면 다른 버튼을 숨기고있는 다른 작업을하고 있어요. 동일한 버튼 event.i는 이미지를 터치했지만 시도하지 않았습니다. 싱글 탭 또는 더블 탭을 찾는 방법. 타이머를 사용하여 버튼에서 터치를 찾는 방법

답변

2

이것은 당신이 시작 얻을 수 있습니다 .. 터치 어떤 샘플이나 튜토리얼을 찾을 타이머 .. 구현하는 (내가 시간 초과 값 0.5을 사용하고 있습니다,하지만 당신은이를 변경할 수 있습니다)

-(void)butonEvent:(id)sendr{ 


    if(buttonTimer)[self doublePress]; 
    else 
    { 

    //buttonTimer is a local NSTimer 

    buttonTimer = [NSTimer scheduledTimerWithTimeInterval: 0.5 
        target: self 
        selector: @selector(handleTimer:) 
        userInfo: nil 
        repeats: NO]; 
    } 

    } 


    -(void)singlePress{ 
[buttonTimer invalidate];buttonTimer=nil;//edit 
    NSLog(@"Single Press"); 
    } 

    -(void)doublePress{ 
[buttonTimer invalidate];buttonTimer=nil;//edit 
    NSLog(@"doublePress"); 
    } 

    -(void)handleTimer:(id)sendr 
    {   
    [self singlePress]; 
    } 
방법
+0

두 번 탭하는 중에 문제가 발생합니다. 그것의 더블 액션을 취할뿐만 아니라 세트 후 itme – SOF

+0

수정 –

+0

그래, 그 작업을 수정했습니다. 정말 고마워요. Plz 내게 링크 관련 Touches을 공부 공유 할 수 있습니다. – SOF

2

가있는 UIButton 이벤트 두 가지 옵션,

당신은 감지를 사용할 수 있습니다있다, 터치 다운, 더블 터치를 통해 통해 한번의 터치 TouchDownRepeat. 당신은 TouchUpInside와 같은 방식으로 IB를 사용하여 UIButton을 연결할 수 있습니다.

+0

TouchDownRepeat를 절대로 사용하지 않았지만 단추와 두 번 누르기 둘 다 할당하면 이벤트가 모두 발생하고 타이머가 필요하다고 가정하는 것이 합리적입니까? –

+0

제 생각에, 계속 두 번 클릭하면 모두 실행되지 않습니다. 한 명만 해고 될 것입니다. –

+1

방금 ​​확인했는데 둘 다 발사됩니다 ... –

관련 문제