如何使用导航控制器执行segue?

问题描述:

我只是想执行与上一个后退按钮继续。如何使用导航控制器执行segue?

@IBAction func onFirst(_ sender: UIButton) { 
    performSegue(withIdentifier: "firstSegue", sender: self) 
} 
@IBAction func onSecond(_ sender: UIButton) { 
    performSegue(withIdentifier: "secondSegue", sender: self) 
} 
+0

去你的故事板选择你的'viewController'然后在菜单栏上点击'编辑器>嵌入>导航控制器' – rudydydy

你需要重新定义目标和行动对当前的导航项目

self.navigationItem.leftBarButtonItem?.target = self 
    self.navigationItem.leftBarButtonItem?.action = #selector(self.onFirst(_:)) 

比方说,你有两个视图控制器,ViewControllerOne和ViewControllerTwo。

你可以通过编程或使用故事板来实现。

既然你好像在使用@IBOutlet,我会假设你想用故事板做。

首先打开您的Main.storyboard并确保ViewControllerOne(您想从中继续的控制器)嵌入到导航控制器中。

如果不是这样,您可以通过点击您的视图控制器,然后点击顶部菜单栏中的编辑器,转到嵌入并选择导航控制器。

然后,你可以通过执行控制使用界面生成器创建一个赛格瑞+点击小黄色图标在ViewControllerOne的顶部(不是导航控制器)&拖动到ViewControllerTwo在界面生成器。

现在点击刚刚创建的segue,然后在属性检查器中输入您选择的identifier

然后在您的ViewControllerOne类,你可以使用@IBOutlet只是执行SEGUE正如你所说:

@IBAction func onFirst(_ sender: UIButton) { 
    performSegue(withIdentifier: "your_segue_identifier", sender: self) 
} 

只要确保在SEGUE标识符匹配,一切都应该罚款:)