gpt4 book ai didi

swift - NSDocument:如何保存和恢复文档的窗口位置?

转载 作者:搜寻专家 更新时间:2023-11-01 06:45:23 26 4
gpt4 key购买 nike

我有一个基于 NSDocument 的应用程序,我希望在重新打开文档时保存和恢复我的窗口位置。 Apple 关于此的文档非常少,但我能够拼凑的是,在某些时候,应用程序中的某些内容需要调用 NSWindow.setFrameUsingName()NSWindow.setFrameAutosaveName ()

我还没有完全弄清楚这需要在什么时候发生,以及需要做什么来做到这一点。例如,这根本不起作用:

// In my NSDocument class    
override func windowControllerDidLoadNib(aController: NSWindowController) {
super.windowControllerDidLoadNib(aController)

// Add any code here that needs to be executed once the windowController has loaded the document's window.
aController.window?.setFrameUsingName("MainWindow")
aController.window?.setFrameAutosaveName("MainWindow")
}

我已经阅读了各种不同的文档或论坛答案,指出 awakeFromNib() 是执行此操作的另一个领域,但我也无法让它发挥作用。

我也很困惑/担心这会以某种方式受到自动布局或我在 Interface Builder 中做错的事情的影响 - 例如,这是我在 IB 中设置窗口的方式:

我不是特别希望我的窗口居中,但其他选项似乎将其锁定在固定的水平或固定的垂直位置,我也不太想要。让我的窗口居中的副作用是我的文档窗口不再级联,我既不希望也不能停止发生(请注意 windowController.shouldCascadeWindows = true 也无济于事) .

那么 - 这里发生了什么?我发现关于这个主题的知识特别不清楚或具有误导性,而且对于 2015 年的 Cocoa 开发来说可能已经过时,所以对此进行现代复习会很棒。

最佳答案

第 1 步:在 IB 中,为窗口指定一个自动保存名称。

enter image description here

第2步:没有第2步

关于swift - NSDocument:如何保存和恢复文档的窗口位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31462295/

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