У меня есть вид, называемый боковой панелью. Идея состоит в том, чтобы этот вид всегда был сверху, независимо от того, находится ли пользователь в полноэкранном режиме в другом приложении или на другом рабочем столе.
Я успешно достиг вершины всегда на том же рабочем столе, которое открывало приложение, но не в полноэкранном режиме. Это мой код:
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()
всегда быть на вершине, несмотря ни на что, независимо от того, находится ли пользователь в полноэкранном режиме в другом приложении или на другом рабочем столе?
Извините если неясно.
Большое спасибо, любая помощь будет оценена!