[iOS] CollectionView with header and "complex" item will have the wrong position after a refresh with a RefreshView #26575
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue Details:
CollectionView scrolled to wrong position after a refresh with RefreshView.
Root Cause:
After the refresh process is completed, the UIRefreshControl resets the contentOffset to 0, which is below the position of the header view. As a result, the UICollectionView scrolls to this adjusted contentOffset, causing the collection view is scrolled to 1st item.
Description of Change :
I explicitly set the contentOffset in the TryOffsetRefresh method of MauiRefreshView to ensure the view scrolls back to the header position after a refresh operation is completed.
Issues Fixed
Fixes #24961
Tested the behavior in the following platforms.
-[x] Android
-[x] Windows
-[x] iOS
-[x] Mac
Output Screenshot
Before_Issue24961.mov
After_Issue24961.mov