在 Swift 3.0 中实现没有导航栏的滑动返回导航

Implement swipe to navigate back with no navigation bar in Swift 3.0

这是我的视图控制器:

我没有导航栏,但有一个后退按钮,可以让用户返回到之前的视图控制器。我想要实现的是滑动以返回。我进行了很多搜索,但没有找到任何有关正确描述的帮助。请帮我实现这个。

尝试使用触摸移动、开始和结束委托方法来查找您的触摸移动。然后根据 x 或 y 位置的偏差,您可以导航用户。

你可以试试这个:

添加手势识别器:

let swipeLeft = UISwipeGestureRecognizer()
swipeLeft.addTarget(self, action: #selector(backSegue) )
swipeLeft.direction = .left
self.view!.addGestureRecognizer(swipeLeft)

@IBAction func backSegue() {
    performSegue(withIdentifier: "backSegue", sender: self)
}

在您想返回的 ViewController 中添加:

@IBAction func unwindBack(segue:UIStoryboardSegue) {
    print("Welcome back!!!")
}

在 ViewController 上,您是否正在添加滑动识别器,从 backSegue() IBAction 手动切换到顶部的退出图标。 Select ùnwindBack()` 出口并命名 segue 'backSegue'。如果您需要更多详细信息,请参阅 this tutorial

你可以做一件事。

1.Use 将第一个视图控制器保留为 root 的导航控制器ViewController。

2.On 点击或你的任何操作用户将导航到第二个视图控制器,它将有导航栏。

3.In 你的 viewDidAppear() class 隐藏导航栏

self.navigationController!.isNavigationBarHidden=false

4.Add 自定义返回按钮。

5.This 程序会让您在滑动时返回导航,导航栏也不会出现。

6.Also 点击自定义后退按钮为

添加代码

_ = self.navigationController?.popViewController(animated: true)

这将是您自定义的简便方法。