0
当我的应用程序(基于文档)开始我最近打开的所有文档。所有文档都在不同的窗口中开始我的目标是在标签中的一个窗口中全部打开。基于文档的应用程序 - 如何打开最近使用的文档合并在一个窗口
当我的应用程序(基于文档)开始我最近打开的所有文档。所有文档都在不同的窗口中开始我的目标是在标签中的一个窗口中全部打开。基于文档的应用程序 - 如何打开最近使用的文档合并在一个窗口
在Swift中,试试这个:在您的应用程序中,通过调用'window.mergeAllWindows'实现applicationDidFinishLaunching,其中'window'是第一个文档的第一个窗口控制器的窗口。请注意,mergeAllWindows在Mac OS 10.12中可用。
'DispatchQueue.main.asyncAfter'用于确保在调用mergeAllWindows时窗口已经恢复,您可能更喜欢更好的方式来确保所有窗口都已恢复。
func applicationDidFinishLaunching(_ aNotification: Notification) {
let dc = NSDocumentController.shared()
// …
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()) {() -> Void in
if dc.documents.count > 0 {
let doc = dc.documents[0]
let wcs = doc.windowControllers
guard let window = wcs[0].window else { return }
if #available(OSX 10.12, *) {
window.mergeAllWindows(self)
} else {
// Fallback on earlier versions
}
}
}
}