gpt4 book ai didi

swift - 基于文档的应用程序 - 如何在一个窗口中打开合并的最近文档

转载 作者:行者123 更新时间:2023-11-28 15:51:33 25 4
gpt4 key购买 nike

当我的应用程序(基于文档)启动时,我打开所有最近的文档。所有文档都从单独的窗口开始。我的目标是在选项卡中的一个窗口中打开所有内容。

最佳答案

在 Swift 中,试试这个:在您的应用委托(delegate)中,通过调用“window.mergeAllWindows”实现 applicationDidFinishLaunching,其中“window”是第一个文档的第一个窗口 Controller 的窗口。请注意,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
}
}
}
}

关于swift - 基于文档的应用程序 - 如何在一个窗口中打开合并的最近文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42235557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com