SwiftUI - как добавить сцену сцены - PullRequest
2 голосов
/ 24 июня 2019

Как добавить сцену Scenekit к представлению SwiftUI?

Я попробовал следующий Hello World, используя стандартный пример сцены корабля ...

import SwiftUI
import SceneKit


struct SwiftUIView : View {
    var body: some View {

       ship()

        Text("hello World")


    }

Но это не такt работа: enter image description here

1 Ответ

2 голосов
/ 25 июня 2019

Для того, чтобы это работало, ваш SwiftUI View должен соответствовать UIViewRepresentable.Подробнее об этом можно узнать из руководства Apple: Взаимодействие с UIKit .

    import SwiftUI

struct SwiftUIView : UIViewRepresentable {

    func makeUIView(context: Context) -> UIView {
        return UIStoryboard(name: "Main", bundle: Bundle.main).instantiateInitialViewController()!.view
    }

    func updateUIView(_ view: UIView, context: Context) {

    }
}

#if DEBUG
struct SwiftUIView_Previews : PreviewProvider {
    static var previews: some View {
        SwiftUIView()
    }
}
#endif

Обратите внимание, что вам нужно включить предварительный просмотр в реальном времени, чтобы он работал.

SceneKit + SwiftUI Preview

...