Я пытаюсь реализовать UICollectionView
в ARSCNView
и горизонтальное направление прокрутки при взаимодействии с пользователем. В представлении коллекции ячейка содержит изображение и название продукта. Можно ли добавить представление коллекции в ARSCNView
?
То, что я пробовал до сих пор, это ...
override func viewDidLoad() {
super.viewDidLoad()
augentedRealityView.delegate = self
augentedRealityView.debugOptions = ARSCNDebugOptions.showFeaturePoints
let scene = SCNScene()
augentedRealityView.scene = scene
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(true)
let configuration = ARWorldTrackingConfiguration()
if #available(iOS 11.3, *) {
configuration.planeDetection = .vertical
}
augentedRealityView.session.run(configuration)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(true)
augentedRealityView.session.pause()
}
func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
DispatchQueue.main.async {
self.setupCollectionView()
let collectionPlane = SCNPlane(width: 0.2, height: 0.1)
let imgMaterial = SCNMaterial()
imgMaterial.diffuse.contents = self.galleryCollectionView
collectionPlane.materials = [imgMaterial]
let collectionNode = SCNNode(geometry: collectionPlane)
collectionNode.eulerAngles.x = -.pi/2
collectionNode.runAction(SCNAction.moveBy(x: 0, y: 0, z: 0, duration: 0))
node.addChildNode(collectionNode)
self.augentedRealityView.scene.rootNode.addChildNode(node)
}
}
После обнаружения плоскости я вижу CollectionView, содержащий изображения и имена но он не размещается на стене или вертикальной оси в одном положении. Он движется вместе с камерой в ARSCNView.