首页 > 解决方案 > 如何防止浮动调色板窗口被视为文档

问题描述

我在 Swift for MacOS 中构建了一个基于文档的应用程序。按 Cmd-N(新文件)N 次,创建(并级联)N 个文档窗口。到目前为止,一切都很好。

所以我添加了一个浮动调色板窗口(以及 WindowController 和 ViewController,都在情节提要中),并连接了一个菜单命令来调用 AppDelegate 来构建它并显示它,这是第一次工作。我用.floating窗口级别标记了它,这似乎也有效。

但是 Cmd-N 现在正在创建新的调色板窗口副本,而不是调色板窗口下方最前面的文档窗口。新的调色板窗口也是级联的,即使我的调色板窗口控制器将级联属性设置为false. 并且是浮动的,它们显示在原始浮动调色板窗口的后面,这显然是优先的。

当调色板窗口出现时,它就是活动窗口。如果单击背景文档窗口,它将变为活动状态,然后 Cmd-N 按预期工作。

引导 Cmd-N 事件制作新文档的最佳方式是什么?所有这一切都是在我没有实现任何代码的情况下发生在幕后的,那么人们从哪里得到一个人的钩子呢?

标签: swiftmacosdocumentpalette

解决方案


推荐阅读