두 가지 주요 용도로 사용되는 탐색 기반 iPhone 전용 앱에서 작업 중입니다. 하나는 계층 적보기로 데이터를 표시하고 사용자가 드릴 다운하여 결국에는 데이터를 편집 할 수있게하고, 테이블보기 셀을 두드리면 모든 사용자가 기본 작업을 수행 할 수 있습니다. 이제는 동일한 데이터에 묶여있는 작은 옵션 세트를 제공해야합니다. 그러나 didSelectRowAtIndexPath : 및 accessoryButtonTappedForRowAtIndexPath : 메서드가 모두 사용됩니다.UITouch 이벤트 및 테이블보기
그래서, 내 옵션은 두 번 탭 방법을 구현하는 것 같습니다. 추가 옵션의 작은 목록은 테이블 행의 두 번 누르기 (추측) 후에 표시됩니다. 또는 바람직하게는 탭 앤 홀드 (tap-and-hold) 방법을 사용하여 수행 될 수있다. 내가 말할 수있는 것부터, 탭 앤드 홀드 (tap-and-hold)는 SDK 4.0에 들어가는 방법처럼 보입니다. 더블 탭 옵션을 사용하기로 결정했지만 조금 문제가 있습니다.
맨 먼저 touchesBegan : withEvent : 메소드가 전혀 호출되지 않은 것처럼 보입니다. ,
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *aTouch = [touches anyObject];
if (aTouch.tapCount == 2) {
[NSObject cancelPreviousPerformRequestsWithTarget:self];
}
}
둘째 : (이 기본 동작을 수행한다,라고하는 것입니다) 메소드 내에 배치 중단 점은 응용 프로그램이 실행되는 동안 호출되지 않습니다 및 테이블 뷰 내가 방법을 삽입하기 전에했던대로 정확하게 응답 단일 탭을 처리 할 필요가 없습니다. didSelectRowAtIndexPath : 메서드는 단일 탭을 올바르게 처리 할 수 있습니다. 더블 탭은 내가 다루고 싶은 펑키 한 것입니다. 그 대답은 "테이블보기로는 싱글 탭을 처리 할 수없고 touchesBegan : 메서드는 더블 탭을 처리 할 수 없습니다. 터치 처리 방법은 모두 처리해야합니다."라는 문구가 포함될 것으로 생각됩니다.
이 문제를 해결해 주신 여러분 께 도움이 될만한 정보를 보내 주시면 감사하겠습니다. 미리 감사드립니다.