Каковы стандартные UISystemGestureGateGestureRecognizers
, установленные на верхнем уровне UIView
приложения iOS для?
Мое приложение состоит из двух видов - один заполняет верхнюю половину экрана, другой - пользовательскую клавиатуру и заполняет нижнюю половину. Я обнаружил, что краны на пробеле не всегда работают, и после некоторого исследования выяснилось, что время событий крана в нижних 20 пикселях или около того было иным, чем остальная часть обзора. Для большей части обзора период между касаниямиBegan/Ended составлял около 100 мс, где для пробела было 1-2 мс. (Мое приложение - эмулятор, и это слишком быстро, чтобы обнаружить нажатие клавиши).
После некоторого дополнительного копания я обнаружил, что основной UIView
приложения (т.е. мой основной просмотр view) имеет 2 UISystemGestureGateGestureRecognizer
. Удалив их в ViewDidAppear
, нижняя часть экрана больше не будет затронута. (Предположительно, это отмена событий сенсорного нажатия на мою клавиатуру, следовательно, более быстрое время).
Эти системные распознаватели присутствуют, по крайней мере, с iOS с 5 по 7 и на iPad и iPhone. Я думал, что они могут быть связаны с прокруткой сверху/снизу, но эта функциональность по-прежнему работает с ними.
Итак, у меня есть исправление, но я хотел бы больше узнать о том, что происходит здесь, в частности, что я могу сломать, удалив их.