如何从菜单项创建"工作表"segue

aga*_*zon 2 macos cocoa segue swift

我有一个Swift Cocoa应用程序,它从菜单项中分割出一个视图.当我从界面构建器创建segue时,选项包括:show,modal和custom.

但是,当我从按钮创建segue时,会出现更多选项:工作表,弹出窗口,显示,自定义,模态

我需要从该菜单项创建一个表单segue.我错过了什么吗?或者只是从菜单项中禁用这些额外选项

jef*_*f-h 7

正如其他人所说,菜单项不能执行依赖于任何窗口附件的segue.不幸的是,有些情况下你想要从菜单项中触发"工作表".例如,Xcode本身就是这样做的.Xcode窗口左下角的+将打开一个三项菜单,所有菜单都执行"sheet"segue.

一种选择是在两个故事板场景之间定义segue,给segue一个标识符,然后以编程方式执行segue.

  1. 单击您的第一个场景,然后在场景标题中查找View Controller图标.这是一个包含白色方块的蓝色圆圈.

  2. 从该View Controller图标控制拖动到第二个场景(您要在工作表中显示的场景).应该在两个场景之间创建一个segue.这个segue将提供各种各样的segue种类,包括"Sheet".

  3. 选择新的segue并显示属性检查器.给segue一个标识符,例如"ShowEditView"

  4. 手动触发segue.作为一个简单的测试,将一个按钮拖到场景一上,然后将它连接到一个视图控制器的场景:

    @IBAction func wasClicked(sender: AnyObject) {
        print("Test button was clicked.")
        self.performSegueWithIdentifier("ShowEditView", sender: self)
    }
    
    Run Code Online (Sandbox Code Playgroud)