UISystemGateGestureRecognizer i opóźnione stuknięcia w dolnej części ekranu

Jakie są standardyUISystemGestureGateGestureRecognizers zainstalowany na najwyższym poziomieUIView aplikacji dla systemu iOS?

Moja aplikacja składa się z dwóch widoków - jeden wypełnia górną część ekranu, drugi jest klawiaturą niestandardową i wypełnia dolną połowę. Stwierdziłem, że stuknięcia w spację nie zawsze działają i po przeprowadzeniu pewnego dochodzenia ustalono, że czas zdarzeń kranu w dolnej 20 pikselach był inny niż reszta widoku. Przez większość czasu okres między touchesBegan / Ended wynosił około 100 ms, a dla spacji 1-2 ms. (Moja aplikacja jest emulatorem i jest zbyt szybka, aby wykryć naciśnięcie klawisza).

Po dalszych kopaniach znalazłem głównąUIView aplikacji (tj. podgląd mojego głównego widoku) ma 2UISystemGestureGateGestureRecognizerjest zainstalowany. Usuwając jeViewDidAppear na dole ekranu nie ma już wpływu. (Prawdopodobnie anulują one zdarzenia dotyku prasy na mojej klawiaturze, stąd szybszy czas).

Te systemy rozpoznawania są obecne co najmniej od iOS 5 do 7 oraz na iPadzie i iPhonie. Pomyślałem, że mogą być powiązane z machnięciem od góry / dołu, ale ta funkcja nadal działa z nimi usunięta.

Mam więc poprawkę, ale chciałbym dowiedzieć się więcej o tym, co się tutaj dzieje - w szczególności o tym, co mogę złamać, usuwając je.

questionAnswers(2)

yourAnswerToTheQuestion