在现有的UIKit应用程序中包含SwiftUI视图
是否可以通过SwiftUI与现有UIKit应用程序并排构建视图?
我有一个用Objective-C编写的现有应用程序。我已经开始迁移到Swift5。我想知道是否可以将SwiftUI与现有的UIKit .xib视图一起使用。
也就是说,我希望在同一应用程序中使用SwiftUI构建一些视图,并使用UIKit构建一些其他视图。当然不要混合两者。
SomeObjCSwiftProject/ SwiftUIViewController.swift
SwiftUIView.xib
UIKitViewController.swift
UIKitView.xib
彼此一起工作
回答:
编辑05/06/19:添加了@Departamento B在其答案中建议的有关UIHostingController的信息。 学分归他所有!
回答:
可以通过将a封装成这样,SwiftUI
在现有UIKit
环境中使用组件:SwiftUI
View``UIHostingController
let swiftUIView = SomeSwiftUIView() // swiftUIView is Viewlet viewCtrl = UIHostingController(rootView: swiftUIView)
也可以UIHostingController
根据自己的需要进行覆盖和自定义,例如通过preferredStatusBarStyle
手动设置(如果无法正常使用)SwiftUI
。
UIHostingController
记录在这里。
回答:
如果UIKit
在SwiftUI
环境中使用现有视图,则可以使用该UIViewRepresentable
协议!它已在此处记录,可以在此 Apple官方教程中实际使用。
以上是 在现有的UIKit应用程序中包含SwiftUI视图 的全部内容, 来源链接: utcz.com/qa/421957.html