2010-04-07 6 views
0

I는 다음과 같은 코드가 상기 코드는 기본적으로 작은 이미지를 하나의 탭을 탐지미스 단일 탭 임의로

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 

    UITouch *touch = [touches anyObject]; 
    NSUInteger numberTaps = [touch tapCount]; 

    // Tapping 
    if (numberTaps > 0) { 
     // do something 
    } 

... 

을 니펫있다 (폭 = (18) 및 높이 = 36). 단일 탭을 감지하는 시간의 90 %가 작동합니다.

하지만 언젠가는 그것을 그리워합니다 (무작위로). 한 번 탭하기 전에 여러 번 탭해야합니다.

무엇을 잘못했거나 놓쳤으므로 일관되게 100 % 단일 탭을 감지 할 수 있었습니까?

+0

하드웨어의 특성뿐만 아니라 어떻게 알 수 있습니까? – Pyrolistical

+0

좋은 지적. 그러나 그것은 다른 애플 리케이션이 잘 작동하는 것 같습니다. – pion

+0

**이 문제를 디버깅하려면 ** UIApplication의 카테고리에서'- [UIApplication sendEvent :]'를 재정의 할 수 있습니다.이 클래스는 Matt Gallagher의 [supersequent implementation] (http://www.cocoawithlove.com/)을 사용하여 실제 구현을 호출합니다. 2008/03/supersequent-implementation.html). 이렇게하면 화면을 두 드릴 때 생성 된 이벤트를 알 수 있고 ('- [UIEvent allTouches]'를 통해) 관련된 모든 접촉을 얻을 수 있습니다. UITouch (아마도'allSet'에서 반환 된'NSSet'에 하나만있는 것 같습니다)를 사용하면'- [UITouch view]'를 사용하여 터치 한 모습을 볼 수 있습니다. –

답변

1

손가락이 하드웨어의 적절한 위치에 항상 부딪 칠 정도로 정확하지 않기 때문에 꼭지가 누락되었을 수 있습니다. 나는 도청 될 수있는 애플 리케이션에 작은 이미지가 있고, 나는 종종 그들을 놓친다. 이미지가 커지면 항상 작동하는지 확인하십시오. 인위적으로 주변의 공백이있는 이미지를 크게 만들어 더 정확하게 칠할 수 있습니다.

관련 문제