什么是创建指向情节提要和swiftUI的链接的正确子类?

问题描述 投票:-1回答:1

我已经创建了下面的子类,将我的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())
    }

}
swift storyboard swiftui subclass nsviewcontroller
1个回答
0
投票

这里是最简单的MyViewController,您可以在IB中为情节提要指定新的控制器场景,作为Identity Inspector中的自定义类。 (与往常一样,在IB中的控制器场景和segue创建)。

“查看控制器”

我选择了Sheet segue进行演示

“

import Cocoa
import SwiftUI

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)
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.