Files
divkit/client/ios/DivKitExtensions/ExtensionHandlers/PinchToZoomExtensionHandler.swift
T
aptaranov ec96d1395a support new UIView provider for PinchToZoomExtensionHandler
commit_hash:5a58b90454f0fa9c8fb4f17f625219d81d5f4d67
2026-02-05 13:22:18 +03:00

33 lines
827 B
Swift

#if os(iOS)
import DivKit
import LayoutKit
import UIKit
public final class PinchToZoomExtensionHandler: DivExtensionHandler {
public let id = "pinch-to-zoom"
private let overlayViewProvider: () -> UIView?
public init(overlayView: UIView) {
self.overlayViewProvider = { [weak overlayView] in overlayView }
}
public init(overlayViewProvider: @escaping () -> UIView?) {
self.overlayViewProvider = overlayViewProvider
}
public func applyAfterBaseProperties(
to block: Block,
div _: DivBase,
context: DivBlockModelingContext
) -> Block {
guard let overlayView = overlayViewProvider() else {
context.addError(message: "PinchToZoomExtensionHandler.overlayView is nil")
return EmptyBlock()
}
return PinchToZoomBlock(child: block, overlayView: overlayView)
}
}
#endif