0

我正在尝试制作一个NSPanel看起来像这样的

无边界

这是这样初始化的

        let panel1 = NSPanel(contentRect: frame1,
                             styleMask: [.borderless],
                             backing: .buffered,
                             defer: true)

问题是,当我单击该面板外屏幕上的任意位置时,它就会消失。只有当我再次单击应用程序图标时,它才会出现在前台。

通过以下实现,我让面板贴在顶部,但它有一个边框

        let panel1 = NSPanel(contentRect: frame1,
                             styleMask: [.borderless, .nonactivatingPanel],
                             backing: .buffered,
                             defer: true)

边框(几个黑色像素)看起来像这样,但总是在顶部。

边界

问题

我怎样才能让它无边界(如第一张图片)但始终在顶部(如第二张图片)。

笔记

  • 两种变体都有level = .mainMenu
  • 两种变体都有collectionBehavior = [.canJoinAllSpaces, .fullScreenAuxiliary]
4

0 回答 0