Слайд Назад Жест на панели навигации с левой кнопкой панели - PullRequest
0 голосов
/ 01 июля 2019

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

Существует множество постов переполнения стека, посвященных этому, и по большей части все они говорят, что вместо кнопки левой панели нужно использовать элемент кнопки «Назад», но это не то, что я хочу использовать. Используя эту строку кода:

self.navigationController? .InteractivePopGestureRecognizer? .Delegate = ноль

позволяет сохранить жест обратного пролистывания при использовании левой кнопки на панели, но в результате возникает множество случайных проблем с пользовательским интерфейсом. Я думал, что можно было бы сохранить жест обратного слайда с помощью распознавателя жестов панорамирования, но я не уверен, как это сделать, это то, что обычно делают слайд-меню.

Любая помощь была бы фантастической!

1 Ответ

1 голос
/ 01 июля 2019

Попробуйте добавить swipeGesture к вашему представлению следующим образом:

let swipeRightGesture = UISwipeGestureRecognizer(target: self, action: #selector(ViewController.handleSwipeGesture(_:))

swipeRightGesture.direction = UISwipeGestureRecognizerDirection.right

view.addGestureRecognizer(swipeRightGesture

Ваш метод handleSwipeGesture() должен содержать код для вывода вашего ViewController.

Если вы хотите, чтобы жест смахивания был вместо NavigationBar, добавьте жест следующим образом:

navigationController.navigationBar.addGestureRecognizer(swipeRightGesture)
...