炫酷
。不過真正運用到項目中還須要點時間。不過咱們能夠經過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()
}
}複製代碼