From ec96d1395af4f3fe6d2cdb362c8d010e1e09e571 Mon Sep 17 00:00:00 2001 From: aptaranov Date: Thu, 5 Feb 2026 13:15:16 +0300 Subject: [PATCH] support new UIView provider for PinchToZoomExtensionHandler commit_hash:5a58b90454f0fa9c8fb4f17f625219d81d5f4d67 --- .../PinchToZoomExtensionHandler.swift | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/client/ios/DivKitExtensions/ExtensionHandlers/PinchToZoomExtensionHandler.swift b/client/ios/DivKitExtensions/ExtensionHandlers/PinchToZoomExtensionHandler.swift index 543a97518..413ffb4ca 100644 --- a/client/ios/DivKitExtensions/ExtensionHandlers/PinchToZoomExtensionHandler.swift +++ b/client/ios/DivKitExtensions/ExtensionHandlers/PinchToZoomExtensionHandler.swift @@ -6,10 +6,14 @@ import UIKit public final class PinchToZoomExtensionHandler: DivExtensionHandler { public let id = "pinch-to-zoom" - private weak var overlayView: UIView? + private let overlayViewProvider: () -> UIView? public init(overlayView: UIView) { - self.overlayView = overlayView + self.overlayViewProvider = { [weak overlayView] in overlayView } + } + + public init(overlayViewProvider: @escaping () -> UIView?) { + self.overlayViewProvider = overlayViewProvider } public func applyAfterBaseProperties( @@ -17,7 +21,7 @@ public final class PinchToZoomExtensionHandler: DivExtensionHandler { div _: DivBase, context: DivBlockModelingContext ) -> Block { - guard let overlayView else { + guard let overlayView = overlayViewProvider() else { context.addError(message: "PinchToZoomExtensionHandler.overlayView is nil") return EmptyBlock() }