如何使用导航控制器执行segue?
问题描述:
我只是想执行与上一个后退按钮继续。如何使用导航控制器执行segue?
@IBAction func onFirst(_ sender: UIButton) {
performSegue(withIdentifier: "firstSegue", sender: self)
}
@IBAction func onSecond(_ sender: UIButton) {
performSegue(withIdentifier: "secondSegue", sender: self)
}
答
你需要重新定义目标和行动对当前的导航项目
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标识符匹配,一切都应该罚款:)
去你的故事板选择你的'viewController'然后在菜单栏上点击'编辑器>嵌入>导航控制器' – rudydydy