Mac OS开发如何让一个窗口显示在另一个全屏应用(专注模式)之上

阅读 53

2022-03-15

今天发现NSWindow并没有显示在其他的全屏窗口之上,做以下改动实现了显示在其他全屏窗口的上方。

1.不使用 NSWindow,而使用 NSPanel。

2.修改 NSWindow.Level 为 modalPanel。

window?.level = .modalPanel

3.设置 collectionBehavior 为 canJoinAllSpaces 和 fullScreenAuxiliary。

window?.collectionBehavior = [.canJoinAllSpaces, .fullScreenAuxiliary]

4.设置 styleMask 为 borderless 和 nonactivatingPanel。

window?.styleMask = [.borderless, .nonactivatingPanel]

最终实现窗口居于其他全屏应用之上。

效果:

 

精彩评论(0)

0 0 举报