SwiftUI、AppKit和UIKit之间的桥接控制器
SwiftUI、AppKit和UIKit之间的桥接控制器

SwiftUI、AppKit和UIKit之间的桥接控制器

SwiftUI、UIKit、AppKit 三者之间的桥接关系图

各种桥接控制器和协议总览

1、UIKi显示SwiftUI视图,使用UIHostingController桥接控制器。

2、AppKit显示SwiftUI视图,使用NSHostingController桥接控制器。

3、SwiftUI显示UIKit 视图控制器,使用UIViewControllerRepresentable桥接控制器。

4、SwiftUI显示UIKit 视图,使用UIViewRepresentable桥接控制器。

5、SwiftUI显示AppKit视图控制器,使用NSViewControllerRepresentable桥接控制器。

6、SwiftUI显示AppKit 视图,使用NSViewRepresentable桥接控制器。

各桥接控制器用途

1、UIHostingController / NSHostingController

用于在 UIKit/AppKit 项目中嵌入 SwiftUI 界面。

let swiftUIView = MySwiftUIView()
let controller = UIHostingController(rootView: swiftUIView) // iOS
let controller = NSHostingController(rootView: swiftUIView) // macOS

2、UIViewControllerRepresentable / NSViewControllerRepresentable

用于在 SwiftUI 中嵌入完整的 ViewController(如系统相机、地图等UIKit/AppKit控制器)。

3、UIViewRepresentable / NSViewRepresentable

用于在SwiftUI中嵌入某些小部件(UIKit/AppKit),如 UITextField、NSButton、WKWebView 等。

相关文章

1、UIKit显示SwiftUI的桥接控制器UIHostingController:https://fangjunyu.com/2025/06/30/uikit%e6%98%be%e7%a4%baswiftui%e7%9a%84%e4%be%a8%e6%8e%a5%e6%8e%a7%e5%88%b6%e5%99%a8uihostingcontroller/

2、macOS显示SwiftUI的桥接控制器NSHostingController:https://fangjunyu.com/2025/06/30/macos%e6%98%be%e7%a4%baswiftui%e7%9a%84%e6%a1%a5%e6%8e%a5%e6%8e%a7%e5%88%b6%e5%99%a8nshostingcontroller/

   

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开发者。

欢迎加入我们的 微信交流群QQ交流群,交流更多精彩内容!
微信交流群二维码 QQ交流群二维码

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注