Как объединить ARKit и SwiftUI без использования раскадровки и / или IBOutlets? - PullRequest
1 голос
/ 06 октября 2019

Я только начал создавать приложения для iOS. Когда я хочу создать ARView, используя SwiftUI и без раскадровки, все идет хорошо. Однако, когда я изменяю ARView на SKView или ARSCNView, он не работает (это приводит к серому экрану). Во всех примерах, которые я нахожу в Интернете, для этого требуется IBOutlet для StoryBoard.

Есть ли способ обойти этот IBOutlets / раскадровку? Я бы предпочел не использовать раскадровку, если это возможно.

struct ARViewContainer: UIViewRepresentable {

func makeUIView(context: Context) -> SKView {

    let arView = SKView(frame: .zero) //ARView(frame: .zero)

    return arView

}

func updateUIView(_ uiView: SKView, context: Context) {}

}

(код выше приводит к серому экрану в приложении)

1 Ответ

0 голосов
/ 09 октября 2019

Возможно, вам не хватает кода, необходимого для представления сцены:

let scene: SKScene

func updateUIView(_ uiView: SKView, context: Context) {
    uiView.presentScene(scene)
}

https://developer.apple.com/documentation/spritekit/skview/1519705-presentscene

...