gpt4 book ai didi

macos - NSWindow contentView无法覆盖整个窗口大小-macOS和SwiftUI

转载 作者:行者123 更新时间:2023-12-03 09:54:28 24 4
gpt4 key购买 nike

我正在使用SwiftUI启动一个新的macOS应用程序,但是我遇到了一个大问题。
该应用程序需要完整大小的contentView(在titleBar下方),但我无法完成。在一个新项目上,使用Storyboards可以正常工作,但使用SwiftUI则不能。

我的代码:
enter image description here

结果:
enter image description here

它看起来应该像这样:
enter image description here

有任何想法吗?
谢谢!

最佳答案

我只是在AppDelegate中使用了以下变体,ContentView和其他内容可以是任何

func applicationDidFinishLaunching(_ aNotification: Notification) {
// Create the SwiftUI view that provides the window contents.
let contentView = ContentView()
.edgesIgnoringSafeArea(.top) // to extend entire content under titlebar

// Create the window and set the content view.
window = NSWindow(
contentRect: NSRect(x: 0, y: 0, width: 480, height: 300),
styleMask: [.titled, .closable, .miniaturizable, .texturedBackground, .resizable, .fullSizeContentView],
backing: .buffered, defer: false)
window.center()
window.setFrameAutosaveName("Main Window")

window.titlebarAppearsTransparent = true // as stated
window.titleVisibility = .hidden // no title - all in content

window.contentView = NSHostingView(rootView: contentView)
window.makeKeyAndOrderFront(nil)
}

关于macos - NSWindow contentView无法覆盖整个窗口大小-macOS和SwiftUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60218622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com