炫酷
。不过真正运用到项目中还须要点时间。不过咱们能够经过SwiftUI中提供的UIViewControllerRepresentable
协议 让你的UIKit中的VC显示在XCode11的Preview中, 以下图。swift
UIKitViewController
,先作一点最简单的UI布局Option
+ Command
+ P
的(刷新Preview)快捷键。最后副一下个人示例代码
(差很少30行左右的亚子):ide
import SwiftUI
class UIKitViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .red
let blueView = UIView(frame: CGRect(x: 100, y: 100, width: 100, height: 100))
blueView.backgroundColor = .green
view.addSubview(blueView)
}
}
struct UIVCPresenter: UIViewControllerRepresentable {
///UIViewControllerRepresentable 协议中必须实现的方法 - 当 SwiftUI 准备好显示 view 时,它会调用此方法一次
///做用: 将须要Preview显示VC 返回出来。
func makeUIViewController(context: UIViewControllerRepresentableContext<UIVCPresenter>) -> UIKitViewController {
return UIKitViewController()
}
///UIViewControllerRepresentable 协议中必须实现的方法
/// 更新UIViewController时候会调用这个方法 能够作一系列l业务实现,
func updateUIViewController(_ uiViewController: UIKitViewController, context: UIViewControllerRepresentableContext<UIVCPresenter>) {
}
}
struct swiftUIView: View {
var body: some View {
UIVCPresenter()
}
}
struct UIKitVCPreView : PreviewProvider {
static var previews: some View {
swiftUIView()
}
}复制代码