Не удается остановить анимацию UIImageView в SCNNode - PullRequest
0 голосов
/ 29 февраля 2020

Вот мой код:

Объявлено глобально:

lazy var imageView = UIImageView()

Загружен в viewWillAppear

let animation = UIImage.animatedImage(with: [UIImage(named: "0")!, UIImage(named: "1")!, UIImage(named: "2")!], duration: 1)
imageView = UIImageView(image: animation)

Добавляет анимацию на лицо пользователя (все работает нормально):

 func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? {
  guard let device = sceneView.device else { return nil }
  guard let faceGeometry = ARSCNFaceGeometry(device: device, fillMesh: true) else { return nil }

  let faceNode = SCNNode(geometry: faceGeometry)
  faceNode.name = "myAnimation"
  faceNode.geometry?.firstMaterial?.diffuse.contents = imageView

  return faceNode
 }

Внутри прикосновений Закруглился, я пытаюсь это сделать, но это не останавливает анимацию:

guard let node = sceneView.scene.rootNode.childNode(withName: "myAnimation", recursively: true) else { return }
let imageView = node.geometry?.firstMaterial?.diffuse.contents as? UIImageView
imageView?.stopAnimating()

Я могу заменить "node.geometry? .FirstMaterial? .Diffuse.contents", но Я не могу манипулировать этим. Я хотел бы заняться другими вещами, кроме остановки анимации.

Спасибо за вашу помощь!

...