From 36effa011a2ba9492426ba9a032e9efdea922fac Mon Sep 17 00:00:00 2001 From: Elfred Pagan Date: Fri, 22 Mar 2024 11:31:25 -0700 Subject: [PATCH 1/3] Add bottom inset to offset calculation --- MagazineLayout/Public/MagazineLayout.swift | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/MagazineLayout/Public/MagazineLayout.swift b/MagazineLayout/Public/MagazineLayout.swift index 79bc603..c193252 100755 --- a/MagazineLayout/Public/MagazineLayout.swift +++ b/MagazineLayout/Public/MagazineLayout.swift @@ -622,9 +622,15 @@ public final class MagazineLayout: UICollectionViewLayout { // If our layout direction is bottom to top we want to adjust scroll position relative to the // bottom if case .bottomToTop = verticalLayoutDirection { + let additionalOffsetAdjustment: CGFloat + if #available(iOS 11.0, tvOS 11.0, *) { + additionalOffsetAdjustment = currentCollectionView.adjustedContentInset.bottom + } else { + additionalOffsetAdjustment = 0.0 + } invalidationContext.contentOffsetAdjustment = CGPoint( x: 0.0, - y: currentCollectionView.bounds.height - newBounds.height) + y: currentCollectionView.bounds.height - newBounds.height + additionalOffsetAdjustment) } return invalidationContext From a2fe2a0c4040ba993433c8a3698641b7b87e6c24 Mon Sep 17 00:00:00 2001 From: Elfred Pagan Date: Fri, 22 Mar 2024 13:39:02 -0500 Subject: [PATCH 2/3] Update MagazineLayout/Public/MagazineLayout.swift Co-authored-by: Bryan Keller --- MagazineLayout/Public/MagazineLayout.swift | 6 ------ 1 file changed, 6 deletions(-) diff --git a/MagazineLayout/Public/MagazineLayout.swift b/MagazineLayout/Public/MagazineLayout.swift index c193252..a9f9bfe 100755 --- a/MagazineLayout/Public/MagazineLayout.swift +++ b/MagazineLayout/Public/MagazineLayout.swift @@ -622,12 +622,6 @@ public final class MagazineLayout: UICollectionViewLayout { // If our layout direction is bottom to top we want to adjust scroll position relative to the // bottom if case .bottomToTop = verticalLayoutDirection { - let additionalOffsetAdjustment: CGFloat - if #available(iOS 11.0, tvOS 11.0, *) { - additionalOffsetAdjustment = currentCollectionView.adjustedContentInset.bottom - } else { - additionalOffsetAdjustment = 0.0 - } invalidationContext.contentOffsetAdjustment = CGPoint( x: 0.0, y: currentCollectionView.bounds.height - newBounds.height + additionalOffsetAdjustment) From 386b7e55aef4f757565c6d631c56080e7382d9d6 Mon Sep 17 00:00:00 2001 From: Elfred Pagan Date: Fri, 22 Mar 2024 13:39:11 -0500 Subject: [PATCH 3/3] Update MagazineLayout/Public/MagazineLayout.swift Co-authored-by: Bryan Keller --- MagazineLayout/Public/MagazineLayout.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MagazineLayout/Public/MagazineLayout.swift b/MagazineLayout/Public/MagazineLayout.swift index a9f9bfe..5e9354f 100755 --- a/MagazineLayout/Public/MagazineLayout.swift +++ b/MagazineLayout/Public/MagazineLayout.swift @@ -624,7 +624,7 @@ public final class MagazineLayout: UICollectionViewLayout { if case .bottomToTop = verticalLayoutDirection { invalidationContext.contentOffsetAdjustment = CGPoint( x: 0.0, - y: currentCollectionView.bounds.height - newBounds.height + additionalOffsetAdjustment) + y: currentCollectionView.bounds.height - newBounds.height + contentInset.bottom) } return invalidationContext