Поп-жест UINavigationController прерывается в модальном режиме при реализации animationControllerForOperation - PullRequest
0 голосов
/ 30 марта 2020

Я представляю UINavigationController как модал от UIViewController. Теперь, как только я реализую метод делегата контроллера навигации navigationController:animationControllerFor:from:to:, жест pop (смахивание назад) перестанет работать без возможности вернуть его обратно.

Об этой проблеме обнаружено:

  • Неважно, что возвращает метод делегата, даже всегда возвращающий ноль будет иметь один и тот же результат.
  • Кажется, что распознаватель жестов настроен нормально - он существует, подключен к правильному представлению и включен
  • Метод делегирования распознавателя жестов никогда не вызывается.
  • Пользовательский UIScreenEdgePanGestureRecognizer, добавленный к контроллеру навигации view, прекрасно работает
  • Модальный стиль представления не имеет значения (например, полноэкранный или не полноэкранный режим).

Распознаватель поп-жестов, похоже, полностью мертв.

Вещи, которые заставляют поп-жест работать снова:

  • Отсутствие модального контроллера навигации
  • Закомментирование navigationController:animationControllerFor:from:to:
  • Использование пользовательского распознавателя жестов + возврат пользовательского контроллера взаимодействия из navigationController:interactionControllerFor:, который имитирует интерактивный переход по умолчанию UINavigationController. Похоже, что пока это единственное решение для этой работы.

Будем весьма благодарны за любые подсказки о том, что происходит и возможные решения.

Пример проекта

Этот проект демонстрирует проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...