swift - 如何创建可以从以编程方式创建的按钮调用的 segue?

标签 swift segue uistoryboard uistoryboardsegue

在 Swift 中,我有一个使用编程方式创建的按钮:

var button = UIBarButtonItem(title: "Tableau", style: .Plain, target: self, action: "tabBarTableauClicked")

我希望当用户单击按钮时它会更改 viewControllers。 以下是 tabBarTableauClicked 的代码:

func tabBarTableauClicked(){
    performSegueWithIdentifier("tableau", sender: self)
}

但它显然不起作用,因为没有带有名为“tableau”的标识符的 segue。

而且我无法使用 Ctrl + 单击按钮并拖动到第二个 viewController 来创建 segue,因为该按钮是以编程方式创建的,而不是在 Storyboard 中创建的。

如何在 Swift 中以编程方式创建带有标识符的 segue?

最佳答案

这里是如何设置一个 segue 以便它可以以编程方式调用。

  • 控制从第一个 View Controller 中的 ViewController 图标拖动到第二个 View Controller 。
  • 单击两个 View Controller 之间的segue 箭头,然后在右侧的Attributes Inspector 中,为segue 指定一个标识符(tableau 在你的情况下)。
  • 然后你可以用 performSegueWithIdentifier 触发 segue在你的代码中。

enter image description here

您可以阅读更多关于设置和使用 segues 的信息 here.

关于swift - 如何创建可以从以编程方式创建的按钮调用的 segue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26456989/

相关文章:

ios - 通用链接无法快速工作 3

ios - 在 Swift 中使用自定义函数调用的 snackbar

ios - 试图在我的 UITableView 中返回数组的每个索引

ios - 在 popover segues 中 Anchor 和 Passthrough 有什么用?

ios - 创建一个可以触发 segues 的 UIView 子类

ios - Storyboard Controller 初始化,我可以在哪里放置预初始化代码?

ios - 每次重新启动 Xcode 8 后, Storyboard 中仅针对一个 ViewController 重复警告

ios - 选中行时防止 TableView 滚动

macos - 从 NSToolbar 覆盖 prepareForSegue

ios - 无法使用委托(delegate)将数据从 MainViewController 发送到 ContainerView