我尝试使用addSubview
将SwiftUI视图添加到UIView上。self.view.addSubview(contentView)
错误:无法将类型为'ContentView'的值转换为预期的参数类型'UIView'
请帮助我实现这个界面。
import UIKit
import SwiftUI
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
view.backgroundColor = UIColor.lightGray
let contentView = ContentView()
view.addSubview(contentView) // Error: Cannot convert value of type 'ContentView' to expected argument type 'UIView'
}
}
struct ContentView: View {
var body: some View {
Text("Hello world")
}
}
View
protocol != aUIView
- Ashley MillsUIHostingController
。https://developer.apple.com/videos/play/wwdc2019/231/ - user7014451UIHostingController
是一个UIViewController
,并且您希望使用addSubview
,因此您还需要学习如何使用子视图控制器(在UIKit
中完成),其中一部分涉及将视图添加为父视图的子视图。托管控制器(适用于UIKit、AppKit和WatchKit)是完整的控制器,并且很容易用于全屏* SwiftUI 视图。希望这可以帮助到您。 - user7014451