From 6f72bcdfe86004bffb8c3dbcbb357c48bda9332e Mon Sep 17 00:00:00 2001 From: Ali <> Date: Mon, 25 Oct 2021 18:38:06 +0400 Subject: [PATCH] Fix covering inset reset --- .../SparseItemGrid/Sources/SparseItemGrid.swift | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/submodules/SparseItemGrid/Sources/SparseItemGrid.swift b/submodules/SparseItemGrid/Sources/SparseItemGrid.swift index e42f3017eb..64349311b9 100644 --- a/submodules/SparseItemGrid/Sources/SparseItemGrid.swift +++ b/submodules/SparseItemGrid/Sources/SparseItemGrid.swift @@ -477,6 +477,8 @@ public final class SparseItemGrid: ASDisplayNode { self.items = items self.updateVisibleItems(resetScrolling: true, synchronous: synchronous, restoreScrollPosition: restoreScrollPosition) + + self.snapCoveringInsetOffset(animated: false) } } @@ -532,25 +534,25 @@ public final class SparseItemGrid: ASDisplayNode { @objc func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) { if !self.ignoreScrolling { - self.snapCoveringInsetOffset() + self.snapCoveringInsetOffset(animated: true) } } @objc func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) { if !self.ignoreScrolling { if !decelerate { - self.snapCoveringInsetOffset() + self.snapCoveringInsetOffset(animated: true) } } } @objc func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) { if !self.ignoreScrolling { - self.snapCoveringInsetOffset() + self.snapCoveringInsetOffset(animated: true) } } - private func snapCoveringInsetOffset() { + private func snapCoveringInsetOffset(animated: Bool) { if let layout = self.layout, let _ = self.items { let offset = self.scrollView.contentOffset.y if offset < layout.containerLayout.insets.top { @@ -572,7 +574,7 @@ public final class SparseItemGrid: ASDisplayNode { if coveringInsetOffset != self.coveringInsetOffset { self.coveringInsetOffset = coveringInsetOffset - self.coveringOffsetUpdated(self, .animated(duration: 0.2, curve: .easeInOut)) + self.coveringOffsetUpdated(self, animated ? .animated(duration: 0.2, curve: .easeInOut) : .immediate) } } }