OS X Storyboard Segue dismissController

时间:2014-11-10 23:26:35

标签: objective-c macos swift storyboard segue

我使用OS X Storyboard并为带有样式表的ViewController创建了segue。

在工作表视图中,有一个用于关闭它的按钮。我将Button连接到dismissController IBAction。

如果我在没有用户交互的情况下运行函数dismissController,那么viewController就会消失,但是表单不会消失。

有人知道如何在工作表中正确解除ViewController吗?

这是一个简短的例子,我正在尝试。这将是我在页面内的viewController中的一个函数。

override func viewDidAppear() {
    let chooesSourceDirectoryDialog: NSOpenPanel = NSOpenPanel()
    chooesSourceDirectoryDialog.canChooseDirectories = true
    chooesSourceDirectoryDialog.canChooseFiles = false
    if chooesSourceDirectoryDialog.runModal() == NSOKButton {
        // do some stuff with the selected directory
    } else {
        // here I would close the sheet
        self.dismissController(nil)
    }
}

感谢您的帮助

1 个答案:

答案 0 :(得分:-1)

工作表视图是"查看",因此您应该使用

self.dismissViewController(#The controller name#)

而不是

self.dismissController(nil)

dismissController用于关闭多个控制器。