swift - 如何让 mac os 上的窗口(视图)始终位于顶部并在所有其他桌面上打开(SwiftUI MACOS)
问题描述
我有一个叫做侧边栏的视图。这个想法是无论如何,无论用户当前是在不同应用程序的全屏还是不同的桌面上,都让这个视图始终位于顶部。
我已经成功地在应用程序打开的同一个桌面上实现了始终在顶部,但不是在全屏时。这是我的代码:
var sidebarWindow:NSWindow
let window = NSRect(x: 0, y: 0, width: 0, height: 0)
sidebarWindow = NSWindow(
contentRect: window,
styleMask: [.titled,.miniaturizable],
backing: .buffered, defer: false)
...
sidebarWindow.level = .floating
sidebarWindow.makeKeyAndOrderFront(nil)
...
if let myScreen = NSScreen.main {
let windowFrame = myScreen.frame
let h = windowFrame.size.height
let w = windowFrame.size.width
sidebarWindow.setFrameOrigin(NSPoint(x: w-55, y: h/2-180))
}
sidebarWindow.contentView = NSHostingView(rootView: SideBar(thisWindow: sidebarWindow))
但是,如上所述,Sidebar()
当我全屏输入其他应用程序以及将桌面更改为其他桌面时,此 (sidebarWindow) 不可见。
SideBar()
无论如何,无论用户当前是全屏显示不同的应用程序还是不同的桌面,我如何才能始终保持领先?
抱歉,如果不清楚。
非常感谢,任何帮助将不胜感激!
解决方案
推荐阅读
- c# - How to drag and drop images in windows froms and get the order
- c# - Discord Bot [C#] Bot Responds to Commands but then Doesn't Continue?
- php - 如何在windows服务器上部署laravel项目
- java - It's lagging when I press the button to go to the game screen
- python - 熊猫矢量化
- c - 为什么 LC_SYMTAB 的 stroff/strsize 无效但仅适用于某些加载的图像?
- android - backspace is not working properly in android phone
- javascript - Is there a way of creating a constantly changing alphabet between a-z to appear
- laravel - Laravel Blade 组件和插槽:插槽内容不并排显示
- javascript - 防止使用 fetch 发送多个 http 请求