This repository was archived by the owner on Jun 17, 2023. It is now read-only.
File tree 1 file changed +12
-2
lines changed
1 file changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -65,6 +65,7 @@ public class CollectionViewPagingLayout: UICollectionViewLayout {
65
65
66
66
67
67
// MARK: UICollectionViewLayout
68
+ var ignoreUpdateCurrentPage : Bool = false
68
69
69
70
override public func shouldInvalidateLayout( forBoundsChange newBounds: CGRect ) -> Bool {
70
71
true
@@ -129,7 +130,9 @@ public class CollectionViewPagingLayout: UICollectionViewLayout {
129
130
130
131
override public func invalidateLayout( ) {
131
132
super. invalidateLayout ( )
132
- updateCurrentPageIfNeeded ( )
133
+ if !ignoreUpdateCurrentPage{
134
+ updateCurrentPageIfNeeded ( )
135
+ }
133
136
}
134
137
135
138
@@ -174,7 +177,14 @@ public class CollectionViewPagingLayout: UICollectionViewLayout {
174
177
offset = max ( 0 , offset)
175
178
offset = min ( offset, maxPossibleOffset)
176
179
let contentOffset : CGPoint = scrollDirection == . horizontal ? CGPoint ( x: offset, y: 0 ) : CGPoint ( x: 0 , y: offset)
180
+ ignoreUpdateCurrentPage = true
181
+ CATransaction . begin ( )
182
+ CATransaction . setCompletionBlock ( {
183
+ self . ignoreUpdateCurrentPage = false
184
+ self . updateCurrentPageIfNeeded ( basedOn: contentOffset)
185
+ } )
177
186
collectionView? . setContentOffset ( contentOffset, animated: animated)
178
- updateCurrentPageIfNeeded ( basedOn: contentOffset)
187
+ CATransaction . commit ( )
188
+
179
189
}
180
190
}
You can’t perform that action at this time.
0 commit comments