Various fixes

This commit is contained in:
Ilya Laktyushin
2022-12-03 20:14:52 +04:00
parent 66011f7d4e
commit 9c1c901a97
2 changed files with 20 additions and 0 deletions

View File

@@ -88,6 +88,8 @@ final class AuthorizationSequenceEmailEntryControllerNode: ASDisplayNode, UIText
} }
} }
private let appearanceTimestamp = CACurrentMediaTime()
init(strings: PresentationStrings, theme: PresentationTheme, mode: AuthorizationSequenceEmailEntryController.Mode) { init(strings: PresentationStrings, theme: PresentationTheme, mode: AuthorizationSequenceEmailEntryController.Mode) {
self.strings = strings self.strings = strings
self.theme = theme self.theme = theme
@@ -198,7 +200,15 @@ final class AuthorizationSequenceEmailEntryControllerNode: ASDisplayNode, UIText
} }
func containerLayoutUpdated(_ layout: ContainerViewLayout, navigationBarHeight: CGFloat, transition: ContainedViewLayoutTransition) { func containerLayoutUpdated(_ layout: ContainerViewLayout, navigationBarHeight: CGFloat, transition: ContainedViewLayoutTransition) {
let previousInputHeight = self.layoutArguments?.0.inputHeight ?? 0.0
let newInputHeight = layout.inputHeight ?? 0.0
self.layoutArguments = (layout, navigationBarHeight) self.layoutArguments = (layout, navigationBarHeight)
var layout = layout
if CACurrentMediaTime() - self.appearanceTimestamp < 2.0, newInputHeight < previousInputHeight {
layout = layout.withUpdatedInputHeight(previousInputHeight)
}
var insets = layout.insets(options: []) var insets = layout.insets(options: [])
insets.top = layout.statusBarHeight ?? 20.0 insets.top = layout.statusBarHeight ?? 20.0

View File

@@ -54,6 +54,8 @@ final class AuthorizationSequencePasswordEntryControllerNode: ASDisplayNode, UIT
private var timer: SwiftSignalKit.Timer? private var timer: SwiftSignalKit.Timer?
private let appearanceTimestamp = CACurrentMediaTime()
init(strings: PresentationStrings, theme: PresentationTheme) { init(strings: PresentationStrings, theme: PresentationTheme) {
self.strings = strings self.strings = strings
self.theme = theme self.theme = theme
@@ -147,8 +149,16 @@ final class AuthorizationSequencePasswordEntryControllerNode: ASDisplayNode, UIT
} }
func containerLayoutUpdated(_ layout: ContainerViewLayout, navigationBarHeight: CGFloat, transition: ContainedViewLayoutTransition) { func containerLayoutUpdated(_ layout: ContainerViewLayout, navigationBarHeight: CGFloat, transition: ContainedViewLayoutTransition) {
let previousInputHeight = self.layoutArguments?.0.inputHeight ?? 0.0
let newInputHeight = layout.inputHeight ?? 0.0
self.layoutArguments = (layout, navigationBarHeight) self.layoutArguments = (layout, navigationBarHeight)
var layout = layout
if CACurrentMediaTime() - self.appearanceTimestamp < 2.0, newInputHeight < previousInputHeight {
layout = layout.withUpdatedInputHeight(previousInputHeight)
}
let inset: CGFloat = 24.0 let inset: CGFloat = 24.0
let maximumWidth: CGFloat = min(430.0, layout.size.width) let maximumWidth: CGFloat = min(430.0, layout.size.width)