微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NSPanel 无边框但始终在顶部 问题注意事项

如何解决NSPanel 无边框但始终在顶部 问题注意事项

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

borderless

这是这样初始化的

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

问题是,当我点击该面板外的屏幕上的任何地方时,它就会消失。只有当我再次点击应用程序图标时,它才会出现。

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

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

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

border

问题

如何让它无边框(如第一张图片)但始终在顶部(如第二张图片)。

注意事项

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。