كيفية التعامل مع اللمسات الفردية مقابل اللمسات المزدوجة على iPhone
-
28-09-2019 - |
سؤال
أريد أن أفعل شيئًا مشابهًا لمشاهد صور 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];
لا تنتمي إلى StackOverflow