-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simplify iOS ScrollView #26763
Merged
Merged
Simplify iOS ScrollView #26763
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/azp run |
Azure Pipelines successfully started running 3 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 3 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 3 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 3 pipeline(s). |
PureWeen
added
the
p/1
Work that is important, and has been scheduled for release in this or an upcoming sprint
label
Dec 22, 2024
/azp run |
Azure Pipelines successfully started running 3 pipeline(s). |
albyrock87
commented
Dec 23, 2024
src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/NoScrollbarsTest.png
Show resolved
Hide resolved
albyrock87
force-pushed
the
ios-scrollview-refactor
branch
from
December 23, 2024 17:46
c953cb3
to
5648b49
Compare
/azp run |
Azure Pipelines successfully started running 3 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 3 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 3 pipeline(s). |
PureWeen
approved these changes
Dec 26, 2024
This was referenced Jan 1, 2025
4 tasks
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
area-controls-scrollview
ScrollView
community ✨
Community Contribution
p/1
Work that is important, and has been scheduled for release in this or an upcoming sprint
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.
Description of Change
The current
ScrollView
implementation on iOS contains a middle layer between theScrollView
and the actual content.The reason hides behind device tests, where the
ScrollView
is being hosted by a standardUIView
which knows nothing about MAUI.So it won't invoke the handler's
GetDesiredSize
andPlatformArrange
.So they've crated this hack, where the container view has its parent's Handler (
ScrollViewHandler
) asICrossPlatformLayout
.This way, if you invalidate the container view it triggers a forced layout on its parent: the
ScrollView
.This is an absolute hack and creates an useless resize loop.
In addition to that, CV2 is not properly reporting the desired size when unbounded, so this PR brings back and improves some code we had in CV1 to measure the content size when the CV is smaller than the constraints.
Issues Fixed