2012-01-25 3 views
1

기본적으로 하위보기를 추가하는 작업을 수행하는 UITapGestureRecognizer가 있습니다. 내가 탭할 때 하위보기가 한 번만로드되기를 원하지만 두 번 탭하면 정말 두 번 실행됩니다. 이 문제를 어떻게 방지 할 수 있습니까? 기본적으로 한번 탭한 후에는 탭 제스처 인식기를 잠시 동안 일시적으로 비활성화해야합니다. 이것을 할 수있는 방법이 있습니까?지연 UITapGestureRecognizer

답변

0

인식기가 호출하는 선택기에서 탭 인식기를 비활성화하십시오. 인식기를 두드리면 서브 뷰를 추가 한보기에서 didAddSubview을 덮어 쓰고 인식기를 다시 활성화하십시오. 새 하위 뷰를 추가하는 동안 인식기는 비활성 상태로 유지됩니다. 추가 효과에 애니메이션 효과를 적용하려면 더블 탭에 반응하지 않도록 충분한 지연 시간을 가져야합니다.

+0

didAddSubview에서 사용 설정하는 방법에 대한 몇 가지 예가 있습니까? – aherlambang

+0

@aherlambang 제스처 인식기에는 '활성화 됨'이라는 속성이 있습니다. 선택자에서'NO'로 설정하고,'didAddSubview'에서'YES'로 되돌립니다. – dasblinkenlight

0

항상 지연 기능이있는 선택기를 사용할 수 있습니다.

- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay 

또한 NSTimer 개체를 사용합니다.