程序员

SwiftUI:Swift项目(UIKit)中调用SwiftUI

2023-01-08  本文已影响0人  心猿意码_
在UIKit中调用SwiftUI,需要使用UIHostingController对SwiftUI的view进行包装,代码如下:
import UIKit
import SwiftUI

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        SwiftUiView.textStr = "SwiftUiView"
        SwiftUiView.color = .red
        let vc = UIHostingController(rootView: SwiftUiView())
        vc.view.frame = self.view.bounds
        self.view.addSubview(vc.view)
        
    }
}




// SwiftUI
struct SwiftUiView: View {
    
    static var textStr : String = ""
    static var color : Color?
    
    var body: some View{
        
        VStack(){
            Spacer()
            HStack{
                Spacer()
                Text(SwiftUiView.textStr)
                Spacer()
            }.padding(0)
            Spacer()
        }.background(SwiftUiView.color).padding(0)
    }
}
效果如下:
1.jpg
上一篇 下一篇

猜你喜欢

热点阅读