UITapGestureRecognizers
Bir görünüme 2 , tek dokunuş ve diğeri çift dokunma etkinlikleri için 2 eklemeye çalışıyorum . Tek dokunuş tanıyıcı beklendiği gibi çalışıyor (kendi başına). Ama çift musluk tanıyıcıyı çalıştıramadım.
Var gibi özelliklere sahip deneme çalıştı: cancelsTouchesInView
, delaysTouchesBegan
ve delaysTouchesEnded
ama yine de iş yapmaz.
İki kez dokunduğumda, tek dokunuş tanıyıcı her zaman etkinleştirilir ve çift dokunma olayı da süper görünüme gönderilir. Ancak özel çift dokunma tanıyıcı hiç bilgilendirilmiş gibi görünmüyor.
Belgeler, yukarıda belirtilen 3 özelliğin bu amaçla kullanılabileceğini düşündürmektedir. Ancak hangi değerlerin ve hangi tanıyıcıların (tek, çift veya her ikisi) ayarlanması gerektiğinden emin değilim. Umarım buna aşina biri yardımcı olabilir.
Aşağıda en son güncellenen kod bloğu verilmiştir.
// ****** gesture recognizers ******
- (void)addSingleAndDoubleTapGestureRecognizersToView:(UIView *)view
{
// single tap
UITapGestureRecognizer *singleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget: tableViewController action: @selector(handleSingleTapOnView:)];
[singleTapRecognizer setNumberOfTouchesRequired:1];
[view addGestureRecognizer: singleTapRecognizer];
// double tap
UITapGestureRecognizer *doubleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget: tableViewController action: @selector (handleDoubleTapOnView:)];
[doubleTapRecognizer setNumberOfTouchesRequired:2];
[singleTapRecognizer requireGestureRecognizerToFail: doubleTapRecognizer];
[view addGestureRecognizer: doubleTapRecognizer];
}
- (void)handleSingleTapOnView:(id)sender
{
}
- (void)handleDoubleTapOnView:(id)sender
{
}