xcode NSPanel无边框但始终在顶部

46scxncf  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(123)

我正在尝试创建一个如下所示的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]
wswtfjt7

wswtfjt71#

我知道这已经有一段时间了,但是对于那些正在挣扎的人来说,只要添加hasShadow = false就可以了。

相关问题