Pengenalan Ketuk Tunggal & Dua Kali di UIScrollView

Saya memiliki UIScrollView dengan beberapa UIView yang berisi UIImageView dan UILabel di dalamnya. Ketika salah satu Gambar ini diketuk Tunggal, Kotak dengan Teks individual akan ditampilkan. Tapi sekarang saya juga ingin menerapkan kemungkinan untuk memperbesar dan menggulir ke dalam Gambar (menampilkan UIImageView dengan gambar di ScrollView, sebenarnya bukan itu masalahnya). Tapi perlu saya ketahui, saat gambar tersebut di-Double-Tapp.

Saat ini saya menggunakan UITapGestureRecognizer dengan NumberOfTapsRequires:1 untuk menampilkan Kotak dengan Teks. Namun UITapGestureRecognizer kedua dengan sentuhan 2 yang diperlukan tidak berfungsi, karena Recognizer pertama diambil sebelumnya dan menampilkan kotak di seluruh Layar.

Mungkin Anda punya ide, bagaimana mewujudkan hal tersebut. Akan lebih baik jika itu adalah UITapGesture-Solution :)

Saya sudah mencobanya seperti ini sekarang, tetapi masih tidak berhasil:

UITapGestureRecognizer *gR;
gR = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(ScrollView_onTap:)];
[gR setNumberOfTapsRequired:1];
[tmpPage addGestureRecognizer:gR];

gR = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showFunctionMenu:)];
[gR setNumberOfTapsRequired:2];
[tmpPage addGestureRecognizer:gR];

[gR release];
gR = nil;

Pengenal kedua hanya ditembak kadang-kadang, tapi sebagian besar adalah yang pertama. Ada ide?


person Kevin Glier    schedule 14.04.2011    source sumber


Jawaban (2)


@Kevin Saya rasa Anda ingin mendefinisikan numberOfTapsRequired dan bukan numberOfTouchesRequired keduanya adalah hal yang berbeda. Periksa dokumentasi yang sama untuk kejelasan lebih lanjut

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITapGestureRecognizer_Class/Reference/Reference.html#//apple_ref/occ/cl/UITapGestureRecognizer

person Robin    schedule 14.04.2011
comment
Oh, sebenarnya yang saya maksud adalah numberOfTapsRequired, perbaiki di Pertanyaan saya. Tapi terima kasih untuk linknya, saya benar-benar tidak tahu perbedaan keduanya. - person Kevin Glier; 14.04.2011

Solusinya mungkin dengan menggunakan potongan kode berikut, di mana requireGestureRecognizerToFail akan melakukan triknya untuk Anda:

UITapGestureRecognizer *singleTapGR, *doubleTapGR;
singleTapGR = [[UITapGestureRecognizer alloc] initWithTarget:self
    action:@selector(mySingleTapHandler)];
doubleTapGR = [[UITapGestureRecognizer alloc] initWithTarget:self
    action:@selector(myDoubleTapHandler)];
doubleTapGR.numberOfTapsRequired = 2;
[singleTapGR requireGestureRecognizerToFail:doubleTapGR];
[view addGestureRecognizer:singleTapGR];
[view addGestureRecognizer:doubleTapGR];
person iOS-Coder    schedule 05.09.2012