mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-03 21:16:35 +00:00
Fixed on-screen navigation concealment
This commit is contained in:
parent
0a717a2173
commit
a2fcff1b35
@ -17,6 +17,7 @@ public protocol ContainableController: class {
|
||||
|
||||
func combinedSupportedOrientations(currentOrientationToLock: UIInterfaceOrientationMask) -> ViewControllerSupportedOrientations
|
||||
var deferScreenEdgeGestures: UIRectEdge { get }
|
||||
var prefersOnScreenNavigationHidden: Bool { get }
|
||||
|
||||
func containerLayoutUpdated(_ layout: ContainerViewLayout, transition: ContainedViewLayoutTransition)
|
||||
func updateToInterfaceOrientation(_ orientation: UIInterfaceOrientation)
|
||||
|
||||
@ -108,6 +108,9 @@ open class NavigationController: UINavigationController, ContainableController,
|
||||
public var lockOrientation: Bool = false
|
||||
|
||||
public var deferScreenEdgeGestures: UIRectEdge = UIRectEdge()
|
||||
public var prefersOnScreenNavigationHidden: Bool {
|
||||
return (self.topViewController as? ViewController)?.prefersOnScreenNavigationHidden ?? false
|
||||
}
|
||||
|
||||
private let mode: NavigationControllerMode
|
||||
private var theme: NavigationControllerTheme
|
||||
@ -153,6 +156,14 @@ open class NavigationController: UINavigationController, ContainableController,
|
||||
return self._viewControllers.last
|
||||
}
|
||||
|
||||
var topOverlayController: ViewController? {
|
||||
if let overlayContainer = self.overlayContainers.last {
|
||||
return overlayContainer.controller
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
private var _displayNode: ASDisplayNode?
|
||||
public var displayNode: ASDisplayNode {
|
||||
if let value = self._displayNode {
|
||||
|
||||
@ -1210,7 +1210,11 @@ public class Window1 {
|
||||
}
|
||||
|
||||
private func collectPrefersOnScreenNavigationHidden() -> Bool {
|
||||
var hidden = self.presentationContext.combinedPrefersOnScreenNavigationHidden()
|
||||
var hidden = false
|
||||
if let navigationController = self._rootController as? NavigationController, let overlayController = navigationController.topOverlayController {
|
||||
hidden = hidden || overlayController.prefersOnScreenNavigationHidden
|
||||
}
|
||||
hidden = hidden || self.presentationContext.combinedPrefersOnScreenNavigationHidden()
|
||||
|
||||
for controller in self.topLevelOverlayControllers {
|
||||
if let controller = controller as? ViewController {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user