如何展开到导航堆栈上的第一个视图控制器

2024-03-22

我在将视图展开到登录屏幕时遇到问题。故事板结构如下:故事板结构 https://i.stack.imgur.com/Ea1t8.png

该应用程序的用户流程如下: 用户在 LoginVC 上登录 -> 通过模态 Segue 进入主选项卡栏屏幕 -> 在每个选项卡栏项目上,我在导航控制器上添加了右栏按钮来访问配置文件页面,每个选项卡栏项目都有独立的导航控制器来保留导航控制器结构线性。 -> 一旦我单击个人资料页面按钮,个人资料页面就会以模态方式呈现 -> 当单击个人资料页面上的注销按钮时,它会触发展开转场并关闭视图控制器

func logoutUser(){

        //Networking.logoutUser()
        print("It goes to login")
        self.performSegue(withIdentifier: "unwindToLogin", sender: self)
}

展开转场是在最左侧 VC 上的 LoginVC 上实现的。我在个人资料屏幕上连接了展开转场,并将其称为“unwindToLogin” 我只是使用了performSegueWithIdentifier。但是,该方法不会被调用,视图也不会发生任何变化。

编辑1: 我想知道,因为我在选项卡栏 vc 上以模态方式调用配置文件页面,所以它找不到 unwindtologin。 如果我只是使用 instantiateviewcontoller 来调用登录,它会清除我的视图控制器堆栈吗?

Edit 2:抱歉,我忘记了当我检查用户是否登录时,我使用以下代码:

    if (FIRAuth.auth()?.currentUser != nil) {
        self.storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
        self.window?.rootViewController = self.storyboard?.instantiateViewController(withIdentifier: "TabBarViewController")
    }

所以实际上他们找不到展开方法,因为根视图不是主登录视图控制器。

有人可以帮忙吗?


使用 unwind segue 移动到任何视图控制器。

单击按钮时移动到任何视图控制器。

- (IBAction)unwindToCurrentController:(UIStoryboardSegue *)unwindSegue { }

  • 将以上几行添加到您的 loginViewController.m 文件中(或)添加 这些行是您想要移动到的视图控制器。
  • 实际上,您想在单击时移动到登录视图控制器 按钮。因此,为此事件创建一个按钮或选择任何按钮。
  • 在执行此操作之前,您需要将上述代码添加到您的登录视图中 控制器。现在通过拖入按钮来添加操作Exit选项开启顶部视图控制器.
  • 它显示了一个展开选项 unwindToCurrentController。单击该选项 并连接它。

现在构建并运行您的应用程序。它工作完美。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何展开到导航堆栈上的第一个视图控制器 的相关文章

随机推荐

  • 因它能做什么或因为它做了而关闭

    好吧 这是一个有点迂腐的问题 但我想确保我正确理解了这个定义 闭包绰号是用来描述匿名函数的can提升局部作用域中的变量 无论它们实际上是否这样做 或仅当它们do在局部范围内提升变量 换句话说 如果匿名函数具有ability在其本地范围内提升
  • 从 .lm.fit() 计算 p 值的快速方法

    我正在运行模拟并拟合线性模型 lm fit https www rdocumentation org packages pbdDMAT versions 0 4 2 topics lm fit 尽管速度极快 但该函数不提供预测变量的 p 值
  • 如何仅使用 GPX 文件进行 UI 测试

    我正在尝试使用 GPX 文件来模拟运行 UI 测试时的位置 我已在 测试位置 下选择了 GPX 文件 但这不起作用 我刚刚收到一个错误 告诉我 位置不可用 我知道 我可以进入 运行 gt 调试 然后激活 允许位置模拟 然后选择该文件作为 默
  • 从 GWT 访问 Web 服务

    有什么方法可以使用 GWT 的 WSDL 访问 Web 服务吗 以前我试图使用 ws import 生成的类 但后来有人向我指出 GWT 无法处理所有 Java 只能处理它的一个子集 因此它无法理解 ws import 类 感谢致敬 Krt
  • 为什么默认情况下不使用 Control.Monad.Instances 实现 (->)

    我正在读书LYAH http learnyouahaskell com functors applicative functors and monoids 它说我需要显式加载Control Monad Instances使以下语法起作用 f
  • 验证关联的唯一性

    给定以下课程 class Candidate has many applications has many companies through gt job offers end class JobOffer belongs to comp
  • c++ 仅读取文本文件最后一行的最快方法?

    我只想读取文本文件的最后一行 我在 UNIX 上 可以使用 Boost 我知道的所有方法都需要扫描整个文件才能获取最后一行 这根本没有效率 有没有一种有效的方法只获取最后一行 另外 我需要它足够强大 即使有问题的文本文件不断被另一个进程附加
  • 使用 c:foreach (JSP/JSTL) 迭代 ArrayList,变量不起作用

    我知道 关于我的问题有无数的例子 但我经历了很多 但无法弄清楚我的错误在哪里 我正在迭代 ArrayList TestSzenario TestSzenario 类包含一个名为 name 的字符串变量 具有适当的 getter 和 sett
  • SQLWITH子句示例[重复]

    这个问题在这里已经有答案了 我试图了解如何使用WITH条款和目的WITH clause 我所明白的是 WITH子句是普通子查询的替代品 谁能用一个小例子详细向我解释这一点 SQL WITH 子句是 Oracle 在 Oracle 9i 第
  • Spring MVC 为什么这个 Hello World 在没有注释驱动标签的情况下运行良好(与任何其他 Spring 项目不同)

    我已经开始学习 Spring MVC 阅读本教程 http viralpatel net blogs spring 3 mvc create hello world application spring 3 mvc http viralpa
  • Java中调整BufferedImage的亮度和对比度

    我正在使用一些框架处理一堆图像 而我得到的只是一堆BufferedImage对象 不幸的是 这些图像真的很暗 我想把它们调亮并稍微调整一下对比度 就像是 BufferedImage image something getImage imag
  • 假设一次有多个 AWS IAM 角色

    有时 我需要访问多个 AWS 资源 我可以使用单独的 IAM 角色单独访问这些资源 如果我需要一起使用这些资源 我目前必须找出一个非本地连接器 如果我可以同时访问这些资源 有时我可以使用 AWS 连接器同时连接这两个资源 例如 https
  • cmake find_path/find_library 检查失败

    我在用着CMake 2 8 2 http www cmake org Wiki CMake 2 8 2 Docs版本 该项目使用大量外部文件和自定义库 无法通过 find package 获得 并且有一长串元素 如下所示 find path
  • 执行maven命令后出现“您指定的目标需要执行一个项目但此目录中没有POM”错误

    我有一个pom xml in C Users AArmijos Desktop Factura Electronica MIyT componentes 1 0 4 sources pom xml我执行了 mvn install insta
  • 单击表格行删除按钮后删除表格行

    解决方案可以使用 jQuery 或纯 JavaScript 我想在用户单击表行单元格中包含的相应按钮后删除表行 例如 table tr td td tr table
  • java.lang.Integer 无法转换为 java.math.BigInteger

    我是 hibernate 和 Mssql 的新手 我正在研究 MySQL 到 Mssql 的集成 我面临这个异常 java lang ClassCastException java lang Integer无法转换为java math Bi
  • 是否可以使用 flutter 相机插件流式传输视频?

    我一直在使用相机插件 我知道可以通过CameraController与功能start stopVideoRecording 这些函数将采用文件的路径作为输入 我希望能够在录制时将该视频流式传输到服务器 是否可以通过相机插件的当前功能以某种方
  • 如何控制画布对象的 z-index?

    当我在画布上绘制一些对象时 有时新对象会放在旧对象下面 例如 我将一些图像添加到画布上 然后画一条线 当我运行代码时 图像位于最上面 我在网上搜索了解决方案 但没有一个直接的解决方案 在某些情况下 它被视为资源管理器中的一个错误 我如何控制
  • 如何在玩笑测试中模拟 json.parse()

    我的代码中有一个 try catch 当代码落入catch它的一部分命中了 JSON parse catch err JSON parse err message 代码可以工作 但测试失败 测试只是断言尝试中发生了一些事情 try popU
  • 如何展开到导航堆栈上的第一个视图控制器

    我在将视图展开到登录屏幕时遇到问题 故事板结构如下 故事板结构 https i stack imgur com Ea1t8 png 该应用程序的用户流程如下 用户在 LoginVC 上登录 gt 通过模态 Segue 进入主选项卡栏屏幕 g