【发布时间】:2017-10-25 22:53:29
【问题描述】:
【问题讨论】:
-
您是否尝试过在手势识别器上添加(退出)展开转场?
-
@pesch,如何实现?
标签: ios swift3 navigation swipe viewcontroller
【问题讨论】:
标签: ios swift3 navigation swipe viewcontroller
你可以试试这个:
添加手势识别器:
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 转到顶部的退出图标。选择 ùnwindBack() 出口并将 segue 命名为“backSegue”。如果您需要更多详细信息,请参阅this tutorial。
【讨论】:
UISwipeGestureRecognizer 是UIKit 的一部分,您正在以编程方式将其添加到这一行的视图中:self.view!.addGestureRecognizer(swipeLeft)
UIViewControllerAnimatedTransitioning
尝试使用触摸移动、开始和结束委托方法来查找您的触摸移动。然后根据 x 或 y 位置的偏差,您可以导航用户。
【讨论】:
你可以做一件事。
1.使用将您的第一个视图控制器保留为根视图控制器的导航控制器。
2.点击或您的任何操作用户将导航到第二个视图控制器,该控制器将具有导航栏。
3.在你的 viewDidAppear() 类中让导航栏隐藏起来
self.navigationController!.isNavigationBarHidden=false
4.添加自定义返回按钮。
5.此过程将使您在滑动时导航回来,并且导航栏也将不存在。
6.Also on click your custom back button add code for
_ = self.navigationController?.popViewController(animated: true)
这将是您自定义的简单方法。
【讨论】: