У меня есть контроллер вида, который вложен в UINavigationController
.UINavigationContoller interactivePopGestureRecognizer неактивен, когда панель навигации скрыта
Я реализовал iOS 7 interactivePopGestureRecognizer, чтобы пользователь мог жестом вытолкнуть VC из стека.
Внутри VC у меня есть scrollview, и пока пользователь не находится в верхней части прокрутки, я скрываю все хром (панель навигации и строку состояния), чтобы сосредоточить внимание на контенте.
Однако при скрытой навигационной панели функция interactivePopGestureRecognizer не работает.
Я попытался включить его после его исчезновения и проверил, что он не ноль, однако он все еще не работает.
Есть ли что-нибудь, что мне не хватает?
Спасибо, на самом деле установка его на ноль также работает. Интересно, это ошибка? – Dan
Будет ошибка, если set self.navigationController.interactivePopGestureRecognizer.delegate для себя или нуля: проведите пальцем по краю экрана и нажмите что-нибудь, чтобы быстро нажать контроллер представления в контроллер навигации, затем - 1. Текущий вид контроллер не отвечает на какое-либо событие касания; 2. Новый просмотр не будет показан; 3. Снова проведите по краю экрана, будет показан новый просмотр; 4.Вызов popViewControllerAnimated: с анимированным параметром, установленным в НЕТ (нажмите пользовательскую кнопку возврата), сбой! – iwill
Похоже, что * just * установка делегата недостаточна, см. Отчет о сбое by @iwill. Обходной путь, который мы нашли, состоял в том, чтобы сохранить исходный делегат, например. в 'viewDidLoad', установите себя как новый в' viewDidAppear: ', а затем снова установите его в исходное значение в' viewDidDisappear: '. Это странно, но работает. – Dennis