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
}
}
}
}