【问题标题】:iOS 10 go back to root in nav stack with parametersiOS 10 使用参数返回到导航堆栈中的根目录
【发布时间】:2016-12-14 05:56:04
【问题描述】:

我有一个初始的ViewController,它是一个包含大量数据的TableView。我有一个标题栏按钮项,它链接到另一个TableView,其中包含第一个ViewController 中的数据摘要。我目前拥有它,因此当您单击cell 时,它会将用户重定向回第一个ViewController 并将它们滚动到正确的cells。但是,它将视图添加到堆栈中,实际上并没有正确地将它们移回。我想我可以通过Unwind segues 做到这一点,但我似乎无法让他们通过点击单元格来工作。有没有更好的方法可以实现这一目标?

当我切换到另一个视图时,我还需要在初始控制器中设置两个变量来告诉它要滚动到哪个索引。

【问题讨论】:

  • 您在哪里添加了滚动代码,请确保在 viewWillAppear 中添加这样的行,而不是在 viewDidLoad 中
  • 滚动功能已经可以使用了,我只是想让 segue 让视图回到导航堆栈中,而不是前进。
  • 为此您可以使用 self.navigationcontroller.popview 方法
  • 是的,这让我回到了以前的控制器,但我仍然需要将两个变量传递给控制器​​
  • 为此,您可以使用委托将值传递给前一个控制器,如果对您来说没问题,那么我可以为您提供如何通过委托模式将变量发送到后视图控制器的代码

标签: swift uitableview segue xcode8 ios10


【解决方案1】:

1.UNWind Segue: 假设我们需要基于与导航栏上默认“后退”按钮以外的其他内容的交互,以编程方式触发向后导航。你会怎么做?是的——你明白了:通过使用 unwind segue。

2.其他方式通常是:PopViewController方法

根据您的问题,您可以选择更简单的选项 2。

至于从 SecondViewController 向 FirstViewController 发送数据,您可以使用委托模式将数据发送回。 这是一些有用的帖子:https://stackoverflow.com/a/25523091/3400991

欢迎评论。谢谢

【讨论】:

    猜你喜欢
    • 2015-10-31
    • 2021-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-28
    • 2021-02-24
    相关资源
    最近更新 更多