iOS segue两次屏幕

时间:2016-04-25 18:41:47

标签: ios swift swift2 segue

我有简单的应用程序。我的 tableViews 包含一些单词;我在后期屏幕上发布数据,我想回到第一个 tableView 屏幕。我为此使用了一个segue。问题是,每次发布后,点击帖子按钮会在帖子屏幕上打开一个新的 tableView 。我想回到原版。

表视图屏幕 - >帖子后屏幕 - >新表视图屏幕

但我想要

表Vievscreen< - >发布屏幕

4 个答案:

答案 0 :(得分:1)

我有同样的问题。现在已经解决了。如果有帮助,请告诉我。

我已经有一个从表格视图单元格链接到名为DynamicSuperView

的另一个视图的segue
func tableView(_tableView: UITableView, didSelectRowAt indexPath: IndexPath) 
{
//Remove the below line from this function as it will perform segue.
//performSegue(withIdentifier: "DynamicSegue", sender: self)
}


override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?)     {
// This will actually perform your segue
var DestViewController = segue.destination as! DynamicSuperView 
let selectedRow = tableView.indexPathForSelectedRow?.row
 DestViewController.labelText = names[selectedRow!]
}

希望这对某人有帮助。

答案 1 :(得分:0)

我们需要提供更多信息。但是,这可能会让你以正确的方式开始。

如果您使用的是导航控制器,请将其放入发布视图代码中:

navigationController!.popViewControllerAnimated(true)

如果您不使用navigationController,而是以模态方式显示视图,请在发布视图代码中使用以下内容:

dismissViewControllerAnimated(true, completion: nil)

答案 2 :(得分:0)

大多数segues创建一个视图控制器的新实例,并将其显示在现有视图控制器之上。

如果要通过推送将视图控制器添加到导航堆栈,则需要按照JAL的注释中所述进行弹出。

如果你的segue是模态的,你想做一个dismissViewController:animated:

你也可以设置一个展开segue,虽然这对于这个简单的情况可能有点过分。

答案 3 :(得分:0)

我在这里遇到同样的问题,但我意识到我在控制+点击时做错了,我从单元格拖出来,正确的必须来自tableview

我希望这能有所帮助