有没有办法将 swiftUI 视图加载到 NSView 中?

Mar*_*ukz 4 nsview appkit rootview swiftui contentview

我想知道是否可以将 SwiftUI 视图加载到 NSView 中。我希望将 Windows 内容视图设置为 SwiftUI,但 window?.contentView = view视图为 SwiftUI 时似乎不可能

Den*_*nis 8

如果我们谈论AppKit哪NSView一部分。有一种方法可以将 SwiftUI 视图转换为 NSView,NSHostingView如下所示:

NSHostingView(rootView: yourSwiftUIView)
Run Code Online (Sandbox Code Playgroud)

所以,你可以写:

window?.contentView = NSHostingView(rootView: view)
Run Code Online (Sandbox Code Playgroud)

如果您需要相同的 for UIKit-UIHostingController以非常相似但稍微复杂的方式使用:

UIHostingController(rootView: view).view
Run Code Online (Sandbox Code Playgroud)