Various improvements

This commit is contained in:
Ilya Laktyushin
2022-05-15 19:43:19 +04:00
parent 7008cd1559
commit fcd43ff537
17 changed files with 448 additions and 133 deletions

View File

@@ -334,6 +334,7 @@ public final class NavigationContainer: ASDisplayNode, UIGestureRecognizerDelega
var statusBarTransition = transition
var ignoreInputHeight = false
if let pending = self.state.pending {
if pending.isReady {
self.state.pending = nil
@@ -344,6 +345,9 @@ public final class NavigationContainer: ASDisplayNode, UIGestureRecognizerDelega
if pending.value.value.view.disableAutomaticKeyboardHandling.isEmpty {
updatedLayout = updatedLayout.withUpdatedInputHeight(nil)
}
if case .regular = layout.metrics.widthClass, pending.value.layout.inputHeight == nil {
ignoreInputHeight = true
}
self.topTransition(from: previous, to: pending.value, transitionType: pending.transitionType, layout: updatedLayout, transition: pending.transition)
self.state.top?.value.isInFocus = self.isInFocus
statusBarTransition = pending.transition
@@ -369,6 +373,9 @@ public final class NavigationContainer: ASDisplayNode, UIGestureRecognizerDelega
updatedLayout = updatedLayout.withUpdatedInputHeight(nil)
}
}
if ignoreInputHeight {
updatedLayout = updatedLayout.withUpdatedInputHeight(nil)
}
self.applyLayout(layout: updatedLayout, to: top, isMaster: true, transition: transition)
if let childTransition = self.state.transition, childTransition.coordinator.isInteractive {
switch childTransition.type {