ios - View Controller 以模式呈现,但 segue 是 Show Segue
问题描述
我的应用程序以MainViewController
具有UINavigationController
. 如果 ashow segue
到另一个控制器,如果新控制器有 aUINavigationController
它似乎以模态方式呈现,但如果我删除它,UINavigationController
它工作正常。
这是正常的 iOS 行为吗?
如果不再有 UINavigationController,我如何在控制器中导航?
解决方案
每次从 MainViewController(有一个 navigationController)切换到一个新的 ViewController 时,新的 ViewController 都会被添加到 MainViewController 的 NavigationController 的堆栈中。
如果您从 MainViewController 转到新的 NavigationController,您将创建一个新的导航堆栈,因此 iOS 将其显示为模态。
要回答您的问题,您只需要 MainViewController 上的 1 个导航控制器,所有后续 segue 都将被推送到该导航控制器的堆栈中。要通过导航堆栈导航回 MainViewController,请查看 navController.popViewController(animated: true)。
推荐阅读
- python - SQLAlchemy 无法识别 db.Model
- javascript - 使用 jQuery 一键切换类并保存上一个状态
- android - 为什么我的 Xamarin android 应用程序一直没有响应?
- tensorflow - Keras Reshape:新数组的总大小必须不变
- android - 如何在当前项目中创建一个目录,如 Android 中的 src/main/java/directiory?
- python - Django sqlite 拒绝权限
- google-api - Google gRPC 网关:覆盖响应字段?
- python - UnicodeDecodeError:“utf-8”编解码器无法解码位置 6952 中的字节 0xa0:无效的起始字节
- python-3.x - 找不到 xmlsec1 配置。是否安装了 libxmlsec1-dev 和 pkg-config?
- python - 如何在烧瓶上使用 sudo 权限启动 gunicorn