كيفية التعامل مع اللمسات الفردية مقابل اللمسات المزدوجة على iPhone

StackOverflow https://stackoverflow.com/questions/4074606

سؤال

أريد أن أفعل شيئًا مشابهًا لمشاهد صور iPhone. عندما تنقلب ، تختفي قضبان واجهة المستخدم بعد تأخير قصير. عندما تنقر مزدوجًا ، يتم تكبيرها. لكنني لا أريد أن يحدث أي شيء عند النقر المزدوج لأنني لم أقم بعد بالتكبير بعد.

أي شخص يعرف كيف يفعل هذا؟

هذا المنشور] لم يساعد حقا. ما لم تخبرني أنه من الضروري للفئة الفرعية UIGestureRecognizer. ثم ، أعتقد أنه يمكنني معرفة ذلك. أي شخص لديه أي أمثلة؟

هل كانت مفيدة؟

المحلول

انظر الى UITapGestureRecognizer توثيق. هناك خصائصان تريد النظر إليهما:

  • numberOfTapsRequired; ؛ و
  • numberOfTouchesRequired

نصائح أخرى

تحقق من ثلاثة 20 من Photoview. إنه يفعل ما تبحث عنه.

إليك بعض التعليمات البرمجية التي يجب أن تساعد:

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[scrollView addGestureRecognizer:singleTap];
[singleTap release];

UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];
[doubleTap setNumberOfTapsRequired: 2];
[scrollView addGestureRecognizer:doubleTap];
// this next line will hold callbacks to singleTap until enough time has gone by that doubleTap is not a possibility.  If a doubleTap happens, singleTap will not get called. Otherwise, singleTap's callback gets called.
[singleTap requireGestureRecognizerToFail:doubleTap];
[doubleTap release];
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top