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

时间:2017-09-15 03:30:45

标签: ios swift segue

我只想在顶部使用后退按钮执行segue。

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

2 个答案:

答案 0 :(得分:0)

您需要为当前导航项重新定义目标和操作

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

答案 1 :(得分:0)

假设你有两个视图控制器,ViewControllerOne和ViewControllerTwo。

您可以通过编程方式或使用故事板来完成此操作。

由于您似乎正在使用@IBOutlet,我假设您希望使用故事板来完成。

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

如果不是,您可以通过单击View Controller,然后单击顶部菜单栏中的Editor,转到Embed In并选择Navigation Controller来实现。

然后你可以使用Interface Builder创建一个segue,方法是控制+点击ViewControllerOne顶部的黄色小图标(不是导航控制器)&在Interface Builder中拖动到ViewControllerTwo。

现在点击刚创建的segue,在Attributes Inspector中输入您选择的m.names <- c("A1","B1","one","A2","B2","two","A3","B3","three") m.group <- c(1,1,1,2,2,2,3,3,3) m.value <- c(5,10,1,20,15,2,10,20,3) df <- data.frame(m.names, m.group, m.value) df ggplot(df, aes(x = m.group, y = m.value)) + geom_bar(aes(fill = m.names), position = "dodge", stat = "identity") + scale_fill_manual(values=c("gray75", "gray75","gray75", "gray40","gray40","gray40", "blue", "red", "green" ))

然后在你的ViewControllerOne类中,你可以像你提到的那样使用@IBOutlet执行segue:

identifier

只要确保segue标识符匹配,一切都应该没问题:)