/
sberpay
/
AgeGate-iOS
Обзор
Документация
Войти
/
sberpay
/
AgeGate-iOS
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
develop
AgeGateSDK/Navigation/TransparentWindow/TransparentWindow.swift
40 строк
1 KB
SergeyGladkiy
[0.2.0] БДСЧ сценарий
30 июл 2026, 21:57
30 июл 2026, 21:57
cbcdfcb
Код
Авторство
О чём код?
// // TransparentWindow.swift // SPaySdk // // Created by Alexander Ipatov on 15.11.2022. // import UIKit /// Окно SDK. Прозрачное, поверх приложения партнёра. /// hitTest пропускает касания мимо шторки вниз, в приложение партнёра. final class AGTTransparentWindow: UIWindow { var topViewController: UIViewController? { var controller = rootViewController while controller?.presentedViewController != nil { controller = controller?.presentedViewController } return controller } override init(windowScene: UIWindowScene) { super.init(windowScene: windowScene) backgroundColor = .clear windowLevel = .normal + 1 } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { let view = super.hitTest(point, with: event) // Пропускаем вниз касания по пустым областям (само окно, вью // хост-контроллера), но не по шторке и её содержимому. let isEmpty = view === self || view === rootViewController?.view return isEmpty ? nil : view } }