Реализация «Проведите пальцем влево, чтобы вернуться назад» в приложениях iOS с использованием Swift

Чтобы реализовать функцию «проведите пальцем влево, чтобы вернуться» в приложении для iPhone с помощью Swift, вы можете изучить следующие методы:

  1. Использование UISwipeGestureRecouncer:
    • Добавьте UISwipeGestureRecouncer в представление контроллера представления.
    • Установите направление жеста смахивания на .left.
    • Реализовать метод селектора для распознавателя жестов, чтобы он обрабатывал действие смахивания.
    • В методе селектора вы можете использовать контроллеры навигации или пользовательскую логику навигации для возврата назад.

Вот пример фрагмента кода:

override func viewDidLoad() {
    super.viewDidLoad()

    let swipeGesture = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipeGesture(_:)))
    swipeGesture.direction = .left
    view.addGestureRecognizer(swipeGesture)
}
@objc func handleSwipeGesture(_ gesture: UISwipeGestureRecognizer) {
    // Handle swipe action here, such as navigating back
    navigationController?.popViewController(animated: true)
    // Or you can implement custom navigation logic
}
  1. Использование UIScreenEdgePanGestureRecouncer:
    • Добавьте UIScreenEdgePanGestureRecouncer в представление контроллера представления.
    • Установите для свойства края распознавателя жестов значение .left.
    • Реализовать метод селектора для распознавателя жестов, чтобы обрабатывать действие панорамирования.
    • В методе селектора вы можете использовать контроллеры навигации или пользовательскую логику навигации для перехода назад.

Вот пример фрагмента кода:

override func viewDidLoad() {
    super.viewDidLoad()

    let edgePanGesture = UIScreenEdgePanGestureRecognizer(target: self, action: #selector(handleEdgePanGesture(_:)))
    edgePanGesture.edges = .left
    view.addGestureRecognizer(edgePanGesture)
}
@objc func handleEdgePanGesture(_ gesture: UIScreenEdgePanGestureRecognizer) {
    if gesture.state == .recognized {
        // Handle pan action here, such as navigating back
        navigationController?.popViewController(animated: true)
        // Or you can implement custom navigation logic
    }
}