如何在没有导航栏的情况下水平切换视图?



我目前正在制作一个简单的应用程序,有 3 个视图。我希望能够使用滑动手势在视图之间移动。

请记住,我对使用 xcode 很陌生,所以我目前的解决方案是:将"滑动手势"添加到我的第一个视图控制器,并使用"show"作为我的 segue 将该手势连接到下一个视图。

但是,"show"使过渡自下而上,而我想向左过渡。

我尝试将我的第一个视图嵌入到导航控制器中,这允许水平过渡。我使用"滑动手势"将我的第一个视图链接到我的第二个视图,瞧,它以水平 segue 转到第二个视图。但是,返回第一个视图的唯一方法是按导航栏的"后退"按钮。

有没有办法使用您自己的带有水平过渡的手势/按钮在几个视图之间导航?

如果不需要segue,则可以使用推送和弹出函数在视图之间转换。设置 IBActions 以接收轻扫手势,并让它们根据用户轻扫的方式执行推送或弹出。

@IBAction func leftSwipeHandler(_ gestureRecognizer : UISwipeGestureRecognizer) {
if gestureRecognizer.state == .ended {
let view2 = secondViewController()
navigationController?.pushViewController(view2, animated: true)
}
}
@IBAction func rightSwipeHandler(_ gestureRecognizer : UISwipeGestureRecognizer) {
if gestureRecognizer.state == .ended {
navigationController?.popViewController(animated: true)
}
}

最新更新