swift – NSOpenPanel作为表格
发布时间:2020-12-14 05:25:55 所属栏目:百科 来源:网络整理
导读:我看了看其他答案,但似乎没有任何帮助我的情况. 我有一个viewController类,它包含一个按钮的IBAction.此按钮应该从该viewController打开NSOpenPanel作为工作表: class ViewController: NSViewController {@IBAction func folderSelection(sender: AnyObject
我看了看其他答案,但似乎没有任何帮助我的情况.
我有一个viewController类,它包含一个按钮的IBAction.此按钮应该从该viewController打开NSOpenPanel作为工作表: class ViewController: NSViewController { @IBAction func folderSelection(sender: AnyObject) { var myFiledialog: NSOpenPanel = NSOpenPanel() myFiledialog.prompt = "Select path" myFiledialog.worksWhenModal = true myFiledialog.allowsMultipleSelection = false myFiledialog.canChooseDirectories = true myFiledialog.canChooseFiles = false myFiledialog.resolvesAliases = true //myFiledialog.runModal() myFiledialog.beginSheetModalForWindow(self.view.window!,completionHandler: nil) var chosenpath = myFiledialog.URL if (chosenpath!= nil) { var TheFile = chosenpath!.absoluteString! println(TheFile) //do something with TheFile } else { println("nothing chosen") } } } 问题来自myFileDialog.beginSheetModalForWindow(..),它适用于上面的行,但这不是一个工作表效果
您需要从窗口的面板调用beginSheetModalForWindow,并使用完成块:
let myFiledialog = NSOpenPanel() myFiledialog.prompt = "Select path" myFiledialog.worksWhenModal = true myFiledialog.allowsMultipleSelection = false myFiledialog.canChooseDirectories = true myFiledialog.canChooseFiles = false myFiledialog.resolvesAliases = true myFiledialog.beginSheetModalForWindow(window,completionHandler: { num in if num == NSModalResponSEOK { let path = myFiledialog.URL print(path) } else { print("nothing chosen") } }) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |