Я заметил что-то странное и может быть ошибкой в UINavigationController. Когда вы переопределяете -navigationController:animationControllerForOperation:fromViewController:toViewController:
Пользовательская анимация UINavigationController предотвращает работу от удачной работы
и возвращаете ноль (для поведения анимации по умолчанию), жест перетаскивания назад не работает. В документации для этого метода указано, что вы должны вернуть «nil, если хотите использовать стандартные переходы навигационного контроллера». Мое прочтение этого заключается в том, что возвращение nil не должно препятствовать тому, чтобы поведение по умолчанию происходило.
Я также обнаружил, что если интерактивный контроллер навигационных контроллеровPopGestureRecognizer.delegate с чем-то, возвращающим ДА для gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:
Повтор поп-музыки снова работает. Однако это обходное решение является рискованным, так как мы топаем по установленному делегату по умолчанию, который является _UINavigationInteractiveTransition.
Есть ли способ переопределить метод animationController, сохраняя при этом жест по умолчанию для перетаскивания назад?
Это question связано.
Возможный дубликат [iOS 7 использует пользовательские интерактивные переходы только некоторое время] (http://stackoverflow.com/questions/20113701/ios-7-use-custom-interactive-transitions-only-some-of-of- время) – jszumski