xcode - 如何在没有导航栏的情况下水平切换视图?
问题描述
我目前正在制作一个具有 3 个视图的简单应用程序。我希望能够使用滑动手势在视图之间移动。
请记住,我对使用 xcode 还是很陌生,所以我目前的解决方案是:将“滑动手势”添加到我的第一个视图控制器,并使用“显示”作为我的 segue 将该手势连接到下一个视图。
但是,“显示”使过渡自下而上,而我想从右向左过渡。
我尝试将我的第一个视图嵌入到导航控制器中,该控制器允许水平过渡。我使用“滑动手势”将我的第一个视图链接到我的第二个视图,瞧,它通过水平转接进入第二个视图。但是,返回第一个视图的唯一方法是按下导航栏的“返回”按钮。
有没有一种方法可以使用您自己的带有水平过渡的手势/按钮在几个视图之间导航?
解决方案
如果 segue 不是必需的,则可以使用 push 和 pop 函数在视图之间进行转换。设置 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)
}
}
推荐阅读
- python - 如何在 python 中永远沉睡?
- angular - 错误:算术运算的左侧必须是“any”、“number”或“enum”类型的 Typescript 数组之间的乘法值
- python - Python Paramiko shell 返回输出超级慢
- reactjs - react-admin 的选项卡式表单中自定义地图组件的渲染问题
- node.js - Sequelize原始查询,使用绑定(postgresql)获取所有数据或特定数据
- ios - iOS Swift:如何隐藏音量控制覆盖?
- google-apps-script - 尝试使用谷歌应用脚本导出为 pdf
- html - 从 EmacsLisp 表示中渲染 HTML 代码
- r - DT 表 Shiny R 格式样式
- java - 是否可以让应用程序从应用程序内部进入自由形式?