mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Fix modal screens presentation in landscape
This commit is contained in:
@@ -579,6 +579,7 @@ open class NavigationController: UINavigationController, ContainableController,
|
|||||||
var previousModalContainer: NavigationModalContainer?
|
var previousModalContainer: NavigationModalContainer?
|
||||||
var visibleModalCount = 0
|
var visibleModalCount = 0
|
||||||
var topModalIsFlat = false
|
var topModalIsFlat = false
|
||||||
|
var isLandscape = layout.orientation == .landscape
|
||||||
var hasVisibleStandaloneModal = false
|
var hasVisibleStandaloneModal = false
|
||||||
var topModalDismissProgress: CGFloat = 0.0
|
var topModalDismissProgress: CGFloat = 0.0
|
||||||
|
|
||||||
@@ -784,7 +785,7 @@ open class NavigationController: UINavigationController, ContainableController,
|
|||||||
let visibleRootModalDismissProgress: CGFloat
|
let visibleRootModalDismissProgress: CGFloat
|
||||||
var additionalModalFrameProgress: CGFloat
|
var additionalModalFrameProgress: CGFloat
|
||||||
if visibleModalCount == 1 {
|
if visibleModalCount == 1 {
|
||||||
effectiveRootModalDismissProgress = topModalIsFlat ? 1.0 : topModalDismissProgress
|
effectiveRootModalDismissProgress = (topModalIsFlat || isLandscape) ? 1.0 : topModalDismissProgress
|
||||||
visibleRootModalDismissProgress = effectiveRootModalDismissProgress
|
visibleRootModalDismissProgress = effectiveRootModalDismissProgress
|
||||||
additionalModalFrameProgress = 0.0
|
additionalModalFrameProgress = 0.0
|
||||||
} else if visibleModalCount >= 2 {
|
} else if visibleModalCount >= 2 {
|
||||||
@@ -851,7 +852,7 @@ open class NavigationController: UINavigationController, ContainableController,
|
|||||||
}
|
}
|
||||||
let maxScale: CGFloat
|
let maxScale: CGFloat
|
||||||
let maxOffset: CGFloat
|
let maxOffset: CGFloat
|
||||||
if topModalIsFlat {
|
if topModalIsFlat || isLandscape {
|
||||||
maxScale = 1.0
|
maxScale = 1.0
|
||||||
maxOffset = 0.0
|
maxOffset = 0.0
|
||||||
} else if visibleModalCount <= 1 {
|
} else if visibleModalCount <= 1 {
|
||||||
|
|||||||
@@ -328,6 +328,7 @@ final class NavigationModalContainer: ASDisplayNode, UIScrollViewDelegate, UIGes
|
|||||||
|
|
||||||
self.scrollNode.view.isScrollEnabled = !isStandaloneModal
|
self.scrollNode.view.isScrollEnabled = !isStandaloneModal
|
||||||
|
|
||||||
|
let isLandscape = layout.orientation == .landscape
|
||||||
let containerLayout: ContainerViewLayout
|
let containerLayout: ContainerViewLayout
|
||||||
let containerFrame: CGRect
|
let containerFrame: CGRect
|
||||||
let containerScale: CGFloat
|
let containerScale: CGFloat
|
||||||
@@ -336,7 +337,7 @@ final class NavigationModalContainer: ASDisplayNode, UIScrollViewDelegate, UIGes
|
|||||||
self.panRecognizer?.isEnabled = true
|
self.panRecognizer?.isEnabled = true
|
||||||
self.dim.backgroundColor = UIColor(white: 0.0, alpha: 0.25)
|
self.dim.backgroundColor = UIColor(white: 0.0, alpha: 0.25)
|
||||||
self.container.clipsToBounds = true
|
self.container.clipsToBounds = true
|
||||||
if isStandaloneModal {
|
if isStandaloneModal || isLandscape {
|
||||||
self.container.cornerRadius = 0.0
|
self.container.cornerRadius = 0.0
|
||||||
} else {
|
} else {
|
||||||
self.container.cornerRadius = 10.0
|
self.container.cornerRadius = 10.0
|
||||||
@@ -351,7 +352,7 @@ final class NavigationModalContainer: ASDisplayNode, UIScrollViewDelegate, UIGes
|
|||||||
}
|
}
|
||||||
|
|
||||||
var topInset: CGFloat
|
var topInset: CGFloat
|
||||||
if isStandaloneModal {
|
if isStandaloneModal || isLandscape {
|
||||||
topInset = 0.0
|
topInset = 0.0
|
||||||
containerLayout = layout
|
containerLayout = layout
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user