4

I would like to know if it's possible to load a SwiftUI view into an NSView. I was hoping to set the windows content view to aSwiftUI but it seems impossible window?.contentView = view where view is of swiftUI

Denis
  • 3,167
  • 1
  • 22
  • 23
Tochukwu
  • 190
  • 1
  • 11

1 Answers1

7

If we talk about AppKit which NSView is part of. There is a way to convert SwiftUI view to NSView using NSHostingView like this:

NSHostingView(rootView: yourSwiftUIView)

So, you can write:

window?.contentView = NSHostingView(rootView: view)

If you need the same for UIKit - use UIHostingController in pretty much similar but slightly more complex way:

UIHostingController(rootView: view).view
Denis
  • 3,167
  • 1
  • 22
  • 23