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