SuperAPI AI 工具集

axiom-uikit-bridging

编程与开发

查看项目

更新于 10-15 20:11

技能介绍

用途:为 iOS 生产应用提供 UIKit 与 SwiftUI 之间的桥接指导,讲解桥接模式本身而非具体的业务视图。

主要能力与决策:包装 UIView 用 UIViewRepresentable;包装 UIViewController 用 UIViewControllerRepresentable;包装 UIGestureRecognizer 子类用 UIGestureRecognizerRepresentable(iOS 18+);在 UIKit 导航中嵌入 SwiftUI 用 UIHostingController;在 UICollectionView/UITableView 单元格中放 SwiftUI 用 UIHostingConfiguration;UIKit 与 SwiftUI 共享状态用 @Observable 共享模型。

关键用法:UIViewRepresentable 的 makeUIView 只调用一次用于创建配置,updateUIView 在每次 SwiftUI 状态变化时调用,应做增量更新而非重建,dismantleUIView 用于清理观察者或定时器;状态通过 updateUIView 从 SwiftUI 流向 UIKit,通过 Coordinator 配合 @Binding 从 UIKit 回流 SwiftUI。不要修改被包装 UIView 的 center、bounds、frame、transform,布局由 SwiftUI 掌控;需要自定义尺寸时重写 intrinsicContentSize 或 sizeThatFits(_:)。滚动跟踪导航栏大标题需调用 navigationBar.setContentScrollView。

适用场景:现有 UIKit 项目中渐进引入 SwiftUI、或 SwiftUI 项目中复用成熟 UIKit 组件。

限制:部分能力需 iOS 16+ 或 iOS 18+;资料未提供具体版本兼容细节、价格或平台信息。