40 lines
925 B
Swift
40 lines
925 B
Swift
//
|
|
// Example
|
|
// man
|
|
//
|
|
// Created by man 11/11/2018.
|
|
// Copyright © 2020 man. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
protocol WindowDelegate: AnyObject {
|
|
func isPointEvent(point: CGPoint) -> Bool
|
|
}
|
|
|
|
class CocoaDebugWindow: UIWindow {
|
|
|
|
weak var delegate: WindowDelegate?
|
|
|
|
override init(frame: CGRect) {
|
|
super.init(frame: frame)
|
|
|
|
self.backgroundColor = .clear
|
|
self.windowLevel = UIWindow.Level(rawValue: UIWindow.Level.alert.rawValue - 1)
|
|
}
|
|
|
|
required init?(coder aDecoder: NSCoder) {
|
|
fatalError("init(coder:) has not been implemented")
|
|
}
|
|
|
|
override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
|
|
return self.delegate?.isPointEvent(point: point) ?? false
|
|
}
|
|
}
|
|
|
|
extension WindowHelper: WindowDelegate {
|
|
func isPointEvent(point: CGPoint) -> Bool {
|
|
return self.vc.shouldReceive(point: point)
|
|
}
|
|
}
|