Swift - UIStoryboardSegue 以编程方式弹出 ViewController

标签 swift popup storyboard segue

我以编程方式将 UIButton 附加到 navigationBar:

catButton.addTarget(self, action: "oc:", forControlEvents: .TouchUpInside)
var catBarButton:UIBarButtonItem = UIBarButtonItem(customView: catButton)
self.navigationItem.setRightBarButtonItem(catBarButton, animated: false)

当函数 oc() 被触发时,我想弹出 View Controller

let segue = UIStoryboardSegue(identifier: "oc", source: self, destination: MDComDBCatsTVC())
prepareForSegue(segue, sender: but)

但这不会打开 MDComDBCatsTVC.. 如何以编程方式执行此操作,因为我无法从 Storyboard 中的按钮拖动,因为我的按钮是以编程方式添加的

最佳答案

I can't drag from button in my storyboard because my button is added programatically

您可以通过从 View Controller 图标拖动到目标 View Controller 来在 Storyboard中创建转场。然后可以以编程方式使用此 segue。

单击 segue 以在“属性”检查器面板中分配一个标识符。然后可以使用此标识符以编程方式访问 segue。

Xcode 会坚持 popover segues 有一个 anchor 。错误信息是“Popover segue with no anchor”。这可以在属性检查器 - anchor 属性中解决。从圆圈拖动到您的 View 。

在您以编程方式创建的按钮的操作中,您将能够使用例如访问 segue:

func buttonAction(sender:UIButton!)
{
    performSegueWithIdentifier("popoversegue", sender: self)
}

( ... 或者更可能是使用 if let 等更健壮的东西)

Attributes inspector

关于Swift - UIStoryboardSegue 以编程方式弹出 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30597204/

相关文章:

ios - 是否可以使用 Storyboard创建非全屏 UITableView?

swift - 有没有办法扩大 WKWebView?

php - 如何使用参数和 php 滑动弹出窗口(html)

ios - iPhone 模拟器与主 Storyboard预览

javascript - 弹出窗口不保留 Safari 中的宽度/高度尺寸

swing - 右键单击节点上的 JTree 和下拉选项

ios - 如何在 iOS、Swift 中更改底部布局约束

ios - 在主包中搜索 XIB

ios - 根据对象的属性减去两个对象数组

ios - BarButtonItem 未显示