首页 > 解决方案 > 将窗口移动到活动空间

问题描述

我有一个需要在活动空间中的小窗口(macOS Swift)

一种选择是在所有空间中都有该窗口。似乎不推荐:https ://developer.apple.com/documentation/appkit/nswindow/collectionbehavior/1419120-movetoactivespace

另一种方法是当用户切换到另一个空间时移动窗口。我可以在文档中找到: https
://developer.apple.com/documentation/appkit/nswindow/1419707-isonactivespace 还有这个问题:如何在 OS X 的虚拟桌面之间移动应用程序的窗口?

我不确定这是否是正确的选择。无论如何,我不能将文档应用到当前窗口。self.view.window 这是我尝试过的,但是如果我更改空间,则窗口仍保留在第一个空间中。可能有一些我不明白或我遗漏的东西?

override func viewDidLoad() {
        super.viewDidLoad()

        self.view.window?.collectionBehavior = NSWindow.CollectionBehavior.canJoinAllSpaces
        self.view.window?.collectionBehavior = NSWindow.CollectionBehavior.moveToActiveSpace
}

标签: swiftmacos

解决方案


推荐阅读