mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Camera and editor improvements
This commit is contained in:
@@ -439,6 +439,8 @@ public final class NavigationContainer: ASDisplayNode, UIGestureRecognizerDelega
|
||||
}
|
||||
}
|
||||
|
||||
public var shouldAnimateDisappearance: Bool = false
|
||||
|
||||
private func topTransition(from fromValue: Child?, to toValue: Child?, transitionType: PendingChild.TransitionType, layout: ContainerViewLayout, transition: ContainedViewLayoutTransition) {
|
||||
if case .animated = transition, let fromValue = fromValue, let toValue = toValue {
|
||||
if let currentTransition = self.state.transition {
|
||||
@@ -501,9 +503,16 @@ public final class NavigationContainer: ASDisplayNode, UIGestureRecognizerDelega
|
||||
strongSelf.keyboardViewManager?.dismissEditingWithoutAnimation(view: topTransition.previous.value.view)
|
||||
strongSelf.state.transition = nil
|
||||
|
||||
topTransition.previous.value.setIgnoreAppearanceMethodInvocations(true)
|
||||
topTransition.previous.value.displayNode.removeFromSupernode()
|
||||
topTransition.previous.value.setIgnoreAppearanceMethodInvocations(false)
|
||||
if strongSelf.shouldAnimateDisappearance {
|
||||
let displayNode = topTransition.previous.value.displayNode
|
||||
displayNode.layer.animateAlpha(from: 1.0, to: 0.0, duration: 0.2, completion: { [weak displayNode] _ in
|
||||
displayNode?.removeFromSupernode()
|
||||
})
|
||||
} else {
|
||||
topTransition.previous.value.setIgnoreAppearanceMethodInvocations(true)
|
||||
topTransition.previous.value.displayNode.removeFromSupernode()
|
||||
topTransition.previous.value.setIgnoreAppearanceMethodInvocations(false)
|
||||
}
|
||||
topTransition.previous.value.viewDidDisappear(true)
|
||||
if let toValue = strongSelf.state.top, let layout = strongSelf.state.layout {
|
||||
toValue.value.displayNode.frame = CGRect(origin: CGPoint(), size: layout.size)
|
||||
|
||||
Reference in New Issue
Block a user