Fix offset

This commit is contained in:
Ali 2023-07-14 17:15:49 +04:00
parent 06a9e27617
commit aab73d6aeb

View File

@ -2042,6 +2042,9 @@ final class ChatListControllerNode: ASDisplayNode, UIGestureRecognizerDelegate {
mainOffset = navigationHeight mainOffset = navigationHeight
} }
mainOffset = min(mainOffset, ChatListNavigationBar.searchScrollHeight) mainOffset = min(mainOffset, ChatListNavigationBar.searchScrollHeight)
if abs(mainOffset) < 0.1 {
mainOffset = 0.0
}
let resultingOffset: CGFloat let resultingOffset: CGFloat
if let inlineStackContainerNode = self.inlineStackContainerNode { if let inlineStackContainerNode = self.inlineStackContainerNode {
@ -2052,6 +2055,9 @@ final class ChatListControllerNode: ASDisplayNode, UIGestureRecognizerDelegate {
inlineOffset = navigationHeight inlineOffset = navigationHeight
} }
inlineOffset = min(inlineOffset, ChatListNavigationBar.searchScrollHeight) inlineOffset = min(inlineOffset, ChatListNavigationBar.searchScrollHeight)
if abs(inlineOffset) < 0.1 {
inlineOffset = 0.0
}
resultingOffset = mainOffset * (1.0 - self.inlineStackContainerTransitionFraction) + inlineOffset * self.inlineStackContainerTransitionFraction resultingOffset = mainOffset * (1.0 - self.inlineStackContainerTransitionFraction) + inlineOffset * self.inlineStackContainerTransitionFraction
} else { } else {
@ -2079,7 +2085,12 @@ final class ChatListControllerNode: ASDisplayNode, UIGestureRecognizerDelegate {
))) )))
} }
let mainDelta = max(0.0, resultingOffset) - max(0.0, mainOffset) let mainDelta: CGFloat
if let _ = self.inlineStackContainerNode {
mainDelta = resultingOffset - max(0.0, mainOffset)
} else {
mainDelta = 0.0
}
transition.updateSublayerTransformOffset(layer: self.mainContainerNode.layer, offset: CGPoint(x: 0.0, y: -mainDelta)) transition.updateSublayerTransformOffset(layer: self.mainContainerNode.layer, offset: CGPoint(x: 0.0, y: -mainDelta))
} }