Получение interactivePopGestureRecognizer отклоняет обратный вызов / событие
Есть ли чистое решение для получения обратного вызова или события на контроллере представления, который был отклоненinteractivePopGestureRecognizer
?
Чтобы было ясно, мне нужен какой-то явный метод, вызываемый на самом верхнем контроллере (и ни на одном другом), прежде чем контроллер будет извлечен этим распознавателем жестов. Я не хочу получать событие на контроллере навигации и отправлять событие на соответствующий контроллер, и я не хочу использоватьviewWillAppear
или жеviewWillDissapear
...
Самое близкое, что у меня есть, это добавление пары «цель / селектор» к жесту, имеющему только 2 проблемы. Во-первых, я не могу получить прямую информацию, если диспетчер будет уволен или нет (UIGestureRecognizerStateEnded
будет стрелять в любом случае). Через секунду после того, как контроллер уволен, мне нужно удалить цель из распознавателя.
Причина этого в том, что у меня есть несколько контроллеров, которым необходимо отправить некоторую информацию своим делегатам. При наличии кнопок «сделано» и «отмена» событие инициируется, вызывается метод делегата, и затем контроллер отключается. Мне нужно почти то же самое, чтобы как можно меньше изменений в коде.
Другая ситуация с этим жестом - это возможность выбросить представление с предупреждением и отменить действие: есть ли способ показать представление с предупреждением, когда этот жест заканчивает, спрашивая: «Вы уверены, что хотите отменить свою работу», и пользователь может выбрать, если контроллер будет сован или возвращен.