【发布时间】:2022-01-13 09:22:40
【问题描述】:
我正在尝试创建一个自定义 NSWindow,我希望我的内容完全填充可用空间,我设法隐藏导航栏按钮和标题并使其透明,但是当我设置内容以填充可用空间时space 底部有一些空间不工作
我创建窗口的方式:
private func createWindow() -> MyWindow {
let window = MyWindow(
contentRect: NSRect(x: 0, y: 0, width: 10, height: 10), // these values don't matter, the window expands to the swiftUI view
styleMask: [.titled, .closable, .fullSizeContentView],
backing: .buffered, defer: false)
window.titlebarAppearsTransparent = true
window.titleVisibility = .hidden
window.isMovableByWindowBackground = false
window.isReleasedWhenClosed = false
window.collectionBehavior = [.transient, .ignoresCycle]
window.standardWindowButton(.closeButton)?.isHidden = true
window.standardWindowButton(.zoomButton)?.isHidden = true
window.standardWindowButton(.miniaturizeButton)?.isHidden = true
return window
}
在我的组件上,我添加了以下属性:
.ignoresSafeArea()
我已经遵循了question 中的所有建议,但似乎对我的情况没有任何帮助,感谢任何帮助
【问题讨论】:
-
在这里工作正常 - Xcode 13.1 / macOS 12.0.1。您放置在此窗口中的 SwiftUI 视图可能存在一些问题(或者您的
MyWindow,因为我使用NSWindow进行了测试)。 -
我尝试了另一个非常简单的SwiftUI,只有一个文本和一个背景颜色,行为仍然相同,底部有一些空间没有正确填充:(
-
也用纯 NSWindow 试过了,还是不行
-
@Asperi 也许您可以提供一个运行示例?
-
@OscarFranco:你的代码中的 MyWindow 是什么?
标签: macos cocoa swiftui nswindow