From 603c6af716c9b32cc54100defca3e51a057c0a6d Mon Sep 17 00:00:00 2001 From: Mathijs Bernson Date: Tue, 18 Jun 2024 09:59:34 +0200 Subject: [PATCH] Add teardown logic to SwiftUI views --- Sources/MetalScope/PanoramaView/Panorama.swift | 6 ++++++ Sources/MetalScope/StereoView/StereoPanorama.swift | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/Sources/MetalScope/PanoramaView/Panorama.swift b/Sources/MetalScope/PanoramaView/Panorama.swift index 43abcd2..3d51bab 100644 --- a/Sources/MetalScope/PanoramaView/Panorama.swift +++ b/Sources/MetalScope/PanoramaView/Panorama.swift @@ -56,6 +56,12 @@ public struct Panorama: UIViewRepresentable { } } + public static func dismantleUIView(_ panoramaView: PanoramaView, coordinator: Coordinator) { + panoramaView.isPlaying = false + panoramaView.scene = nil + panoramaView.sceneRendererDelegate = nil + } + public func makeCoordinator() -> Coordinator { Coordinator() } diff --git a/Sources/MetalScope/StereoView/StereoPanorama.swift b/Sources/MetalScope/StereoView/StereoPanorama.swift index e6b429e..ae788a3 100644 --- a/Sources/MetalScope/StereoView/StereoPanorama.swift +++ b/Sources/MetalScope/StereoView/StereoPanorama.swift @@ -74,6 +74,12 @@ public struct StereoPanorama: UIViewRepresentable { } } + public static func dismantleUIView(_ stereoView: StereoView, coordinator: Coordinator) { + stereoView.isPlaying = false + stereoView.scene = nil + stereoView.sceneRendererDelegate = nil + } + public func makeCoordinator() -> Coordinator { Coordinator() }