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

  • Anthony Cumia

    Anthony Cumi

    5 EYLÜL 2006
  • BASS212M

    BASS212M

    15 Temmuz 2009
  • New Scientist

    New Scientis

    27 Kasım 2006