我已经创建了下面的子类,将我的swiftui代码链接到我的情节提要。目标是在容器视图中显示带有文本容器的vstack。我不确定是否使用了正确的类:NSViewController?我没有收到任何错误,但是代码没有显示我想要的方式。通常,在我运行应用程序时,swiftui不会显示在显示的窗口内。
import SwiftUI
class termu: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
}
@IBSegueAction func waka(_ coder: NSCoder) -> NSViewController? {
return NSHostingController(coder: coder, rootView: ContentView())
}
}
这里是最简单的MyViewController
,您可以在IB中为情节提要指定新的控制器场景,作为Identity Inspector中的自定义类。 (与往常一样,在IB中的控制器场景和segue创建)。
我选择了Sheet segue进行演示
class MyViewController: NSHostingController<ContentView> {
@objc required dynamic init?(coder: NSCoder) {
super.init(coder: coder, rootView: ContentView())
}
}
struct ContentView: View { // This SwiftUI view is just for Demo
var body: some View {
VStack {
Text("I'm SwiftUI")
.font(.largeTitle)
.padding()
.background(Color.yellow)
}
.frame(width: 400, height: 200)
}
}