SwiftUI 和 UIKit 都是在 Apple 平台上构建用户界面的框架,但它们在方法和语法方面有明显的区别。SwiftUI 是在 WWDC 2019 上推出的一个较新的框架,它的代码少得令人惊讶,它允许您以更高效和直观的方式构建用户界面。另一方面,UIKit 是一个用于构建 iOS 应用程序多年的旧框架,它使用命令式语法。
尽管存在差异,但可以将 SwiftUI 视图集成到基于 UIKit 的应用程序中,反之亦然。这使开发人员可以利用这两个框架的优势,创建更强大、更灵活的应用程序。
让我们切入正题,看看两种方式集成的代码。
将 SwiftUI 集成到 UIKit 应用程序中
要将 SwiftUI 视图集成到基于 UIKit 的应用程序中,您可以使用UIHostingController该类,它是一个可以显示 SwiftUI 视图的视图控制器。您可以使用下面的代码在基于 UIKit 的应用程序中显示一个简单的 SwiftUI 视图:
import SwiftUI
struct MySwiftUIView: View {
var body: some View {
Text("Hello, World!")
}
}
class MyViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let hostingController = UIHostingController(rootView: MySwiftUIView())
addChild(hostingController)
view.addSubview(hostingController.view)
hosting
精彩文章
发表评论