拖动视图控制器而不是滑动手势



我想通过从屏幕左边缘滑动来返回上一个ViewController。我得到了这个代码来做到这一点

let swipeRecognizer = UIScreenEdgePanGestureRecognizer(target: self, action: #selector(dismissViewController))
swipeRecognizer.edges = .left
self.view.addGestureRecognizer(swipeRecognizer)
但我不想回到它

识别的每一个手势,我希望它像其他应用程序一样工作,您可以在其中来回拖动视图控制器,而不是稍微滑动一下,应用程序就会回到以前的 ViewController。我应该使用什么代码?

滑动手势是"一次性"手势。这不是一个连续的手势。因此,这是错误的选择。如果您希望能够拖动视图控制器,使其"偷看"到屏幕上并逐渐拖动过来,则需要使用平移手势识别器,并在用户执行平移手势时移动视图。

但是,实施这是一项相当多的工作。您可能希望了解如何使用 UIPageViewController。这是一个"容器"视图控制器,用于管理 2 个或更多子视图控制器并为您处理它们之间的转换。您可以将其设置为使用页面卷曲过渡(如 iBooks)或幻灯片切换,这是您想要的。

最新更新