Пользовательский переход UIViewController не происходит в интерактивном режиме - PullRequest
0 голосов
/ 28 мая 2018

У меня есть пользовательский переход UIViewController, который в основном складывает приходящий ViewController справа от текущего на экране и перемещает их влево (нажатие) или вправо (всплывающее).

У меня естьреализовал переход, чтобы быть интерактивным:

@objc private func addPanGestureRecognizer(_ gestureRecognizer: UIScreenEdgePanGestureRecognizer) {
    guard let view = gestureRecognizer.view else { return }
    let progress = gestureRecognizer.translation(in: view).x / view.frame.size.width

    switch gestureRecognizer.state {
    case .began:
        interactionController = UIPercentDrivenInteractiveTransition()
        navigationController.popViewController(animated: true)
    case .changed:
        interactionController.update(progress)
    default:
        if progress >= 0.5 {
            interactionController.finish()
        } else {
            interactionController.cancel()
        }

        interactionController = nil
    }
}

Вышеупомянутое действие жеста инициирует мой пользовательский переход, когда я применяю жест смахивания от левого края экрана, хотя это не происходит интерактивно, а просто запускает мою пользовательскую анимациюполностью.

Что заставляет его не действовать в интерактивном режиме?

ps Вышеуказанные действия жестов добавляются как действие UIScreenEdgePanGestureRecognizer к представлению контроллера с принудительным просмотром.

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