2012-06-28 2 views
0

- handleSwipeUpTriple가 호출되지 않습니다 :UISwipeGestureRecognizer는 다음이 작동하지 않는 터치 1, 2 작동하지만 3

- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    UISwipeGestureRecognizer *swipeUpTripleRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeUpTriple:)]; 
    swipeUpTripleRecognizer.direction = UISwipeGestureRecognizerDirectionUp; 
    swipeUpTripleRecognizer.numberOfTouchesRequired = 3; // triple finger 
    // window is in nib 
    [self.window addGestureRecognizer:swipeUpTripleRecognizer]; 
    [swipeUpTripleRecognizer release]; 
} 

- (void) handleSwipeUpTriple:(UISwipeGestureRecognizer *)sender { 
    printf("\nhandleSwipUpTrpl called."); // never happens 
    if (sender.state == UIGestureRecognizerStateEnded) 
     printf("\n SwipeUpTriple recognized."); 
} 

}

이상한 일이 내가 1도에 numberOfTouchesRequired를 변경하는 경우 2, 작동합니다. 단 3 (또는 4) 개의 손가락이 범위를 벗어나는 것처럼 보입니다. 3 손가락 제스처에 관한 여러 게시물을 보았으므로 그 이유를 알 수 없습니다.

self.window.multipleTouchEnabled가 예입니다.

테스트 목적으로 모든 하위 뷰를 제거했습니다. 자기 외에는 아무것도 없어. 화면에 창문.

저는 여전히 iOS 4.3을 사용하고 있습니다.하지만 UISwipeGestureRecognizer는 iOS 3.2에서 사용 가능하므로 그 이유가 무엇인지는 알 수 없습니다.

+0

이 장치는 어떤 장치에서 실행되고 있습니까? – Dustin

+0

iPod touch (4 세대) – Wienke

+1

iPad 이외의 장치에서 3 개의 손가락 (일반적으로 줌)에 대한 시스템 제스처 인식기가 실행되는 경우가 있습니다. 설정에 따라 시스템에서이 개수의 핑거를 예약했을 수 있습니다. – Dustin

답변

1

저는 iPad가 아닌 기기가 때때로 3 개의 손가락 (일반적으로 줌)에 대한 시스템 제스처 인식기를 실행하고 있음을 알고 있습니다. 설정에 따라 시스템에서이 개수의 핑거를 예약했을 수 있습니다.

Google에서 알 수 있듯이 일반> 접근성으로 이동하고 세 손가락 제스처를 사용 중지하여 문제를 해결할 수 있습니다.

관련 문제