mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Improve custom proximity diming
This commit is contained in:
parent
c9bffd66f9
commit
f7ca39103c
@ -243,7 +243,6 @@ public final class WindowKeyboardGestureRecognizerDelegate: NSObject, UIGestureR
|
||||
public class Window1 {
|
||||
public let hostView: WindowHostView
|
||||
public let badgeView: UIImageView
|
||||
private let customProximityDimView: UIView
|
||||
|
||||
private var deviceMetrics: DeviceMetrics
|
||||
|
||||
@ -331,10 +330,6 @@ public class Window1 {
|
||||
self.badgeView.image = UIImage(bundleImageName: "Components/AppBadge")
|
||||
self.badgeView.isHidden = true
|
||||
|
||||
self.customProximityDimView = UIView()
|
||||
self.customProximityDimView.backgroundColor = .black
|
||||
self.customProximityDimView.isHidden = true
|
||||
|
||||
self.systemUserInterfaceStyle = hostView.systemUserInterfaceStyle
|
||||
|
||||
let boundsSize = self.hostView.eventView.bounds.size
|
||||
@ -673,7 +668,6 @@ public class Window1 {
|
||||
self.windowPanRecognizer = recognizer
|
||||
self.hostView.containerView.addGestureRecognizer(recognizer)
|
||||
self.hostView.containerView.addSubview(self.badgeView)
|
||||
self.hostView.containerView.addSubview(self.customProximityDimView)
|
||||
}
|
||||
|
||||
public required init(coder aDecoder: NSCoder) {
|
||||
@ -707,11 +701,18 @@ public class Window1 {
|
||||
self.updateBadgeVisibility()
|
||||
}
|
||||
|
||||
private var proximityDimController: CustomDimController?
|
||||
public func setProximityDimHidden(_ hidden: Bool) {
|
||||
guard hidden != self.customProximityDimView.isHidden else {
|
||||
return
|
||||
if !hidden {
|
||||
if self.proximityDimController == nil {
|
||||
let proximityDimController = CustomDimController(navigationBarPresentationData: nil)
|
||||
self.proximityDimController = proximityDimController
|
||||
(self.viewController as? NavigationController)?.presentOverlay(controller: proximityDimController, inGlobal: true, blockInteraction: false)
|
||||
}
|
||||
} else if let proximityDimController = self.proximityDimController {
|
||||
self.proximityDimController = nil
|
||||
proximityDimController.dismiss()
|
||||
}
|
||||
self.customProximityDimView.isHidden = hidden
|
||||
}
|
||||
|
||||
private func updateBadgeVisibility() {
|
||||
@ -1170,8 +1171,6 @@ public class Window1 {
|
||||
self.updateBadgeVisibility()
|
||||
self.badgeView.frame = CGRect(origin: CGPoint(x: floorToScreenPixels((self.windowLayout.size.width - image.size.width) / 2.0), y: 5.0), size: image.size)
|
||||
}
|
||||
|
||||
self.customProximityDimView.frame = CGRect(origin: .zero, size: self.windowLayout.size)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1383,3 +1382,25 @@ public class Window1 {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private class CustomDimController: ViewController {
|
||||
class Node: ASDisplayNode {
|
||||
override init() {
|
||||
super.init()
|
||||
|
||||
self.backgroundColor = .black
|
||||
}
|
||||
}
|
||||
override init(navigationBarPresentationData: NavigationBarPresentationData?) {
|
||||
super.init(navigationBarPresentationData: nil)
|
||||
}
|
||||
|
||||
required public init(coder aDecoder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
|
||||
override func loadDisplayNode() {
|
||||
let node = Node()
|
||||
self.displayNode = node
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user