SORU
16 Ocak 2012, PAZARTESİ


UİTapGestureRecognizer - dokunun ve çift dokunun tek

Bir görünüm için 2 UITapGestureRecognizers eklemek istediğim, tek bir musluk ve çift için bir olaylar dokunun. Tek dokunun algılayıcı beklendiği gibi çalışıyor (kendi başına). Ama çift algılayıcı dokunun elde edebilir çalışıyor gibi görünüyor bilmiyorum.

Özellikleri ile deney için çalıştık : cancelsTouchesInView, delaysTouchesBegan delaysTouchesEnded ama hala çalışmıyor.

Ben çift dokunun, dokunun tek tanıyıcı her zaman aktif olacak ve çift tıklama olayı da süper görünüm gönderilecek. Ama özel çift algılayıcı hiç haberdar görünmüyor dokunun.

Dokümantasyon 3 özellikleri yukarıda belirtilen amaçlar için kullanılabileceğini işaret ediyor. Ama sadece ne olması gerektiğini ve hangi algılayıcı(s), emin (tek veya iki çift) değilim. Birileri bu aşina yardımcı olabilir umuyoruz.

Aşağıdaki en son güncellenmiş kod bloğu.

Ayrıca, şifreli bir değişken adları dışında, daha açıklayıcı yapıldı "" istendi. u_buttons_view "U" açılımı"". üst (Kolayca diğer yerlerden başvurulan çünkü değiştirmek.)

// ****** gesture recognizers ******

{   // single tap    
    UITapGestureRecognizer *single_tap_recognizer;        
    single_tap_recognizer = [[[UITapGestureRecognizer alloc] initWithTarget : table_view_controller action: @selector(upper_button_view_tapped:)] autorelease];                                 
    [single_tap_recognizer setNumberOfTouchesRequired : 1];
    [u_buttons_view addGestureRecognizer : single_tap_recognizer];


    // double tap 
    UITapGestureRecognizer *double_tap_recognizer;
    double_tap_recognizer = [[[UITapGestureRecognizer alloc] initWithTarget: table_view_controller action: @selector (upper_button_view_double_tapped:)] autorelease];        
    [double_tap_recognizer setNumberOfTouchesRequired : 2];         
    [single_tap_recognizer requireGestureRecognizerToFail : double_tap_recognizer];
    [u_buttons_view addGestureRecognizer : double_tap_recognizer];         
}

CEVAP
16 Ocak 2012, PAZARTESİ


UITapGestureRecognizer *singleTap = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doSingleTap)] autorelease];
singleTap.numberOfTapsRequired = 1; 
[self.view addGestureRecognizer:singleTap];

UITapGestureRecognizer *doubleTap = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doDoubleTap)] autorelease];
doubleTap.numberOfTapsRequired = 2; 
[self.view addGestureRecognizer:doubleTap];

[singleTap requireGestureRecognizerToFail:doubleTap];

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BumbleDroid

    BumbleDroid

    18 EKİM 2010
  • ChasesAndCrashes

    ChasesAndCra

    31 Temmuz 2009
  • The Bad Tutorials

    The Bad Tuto

    6 EKİM 2009