我正在尝试创建一个如下所示的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]
1条答案
按热度按时间wswtfjt71#
我知道这已经有一段时间了,但是对于那些正在挣扎的人来说,只要添加
hasShadow = false
就可以了。