美文网首页程序员
SwiftUI:Swift项目(UIKit)中调用SwiftUI

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

作者: 心猿意码_ | 来源:发表于2023-01-08 09:10 被阅读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

相关文章

网友评论

    本文标题:SwiftUI:Swift项目(UIKit)中调用SwiftUI

    本文链接:https://www.haomeiwen.com/subject/zfbscdtx.html