This repository has been archived by the owner on May 1, 2024. It is now read-only.
Remove UIActivityIndicatorViewDelegate and instead override ViewRenderer to fix #14119 #14957
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
PR #11339 introduced
UIActivityIndicatorViewDelegate
to cope with changing Superview and start/stop UIActivityIndicatorView accordingly. However this conflicts with UIAppearance/theming ofUIActivityIndicatorView
. It seems that on iOS 11 (and maybe other versions) sub-classes ofUIActivityIndicatorView
do not receive correct default theme/appearance leading to activity indicator showing all-black as reported in #14119.This PR attempts to fix this by removing
UIActivityIndicatorViewDelegate
and instead handlingLayoutSubviews()
/Draw()
through overriding
ViewRenderer
. This way the nativeUIActivityIndicatorView
is managed byViewRenderer
and thusappearance works on older iOS versions as well.
Issues Resolved
API Changes
None
Platforms Affected
Behavioral/Visual Changes
None
Before/After Screenshots
BEFORE (iOS 11)
AFTER(iOS 11)
Testing Procedure
Can be tested with XF control gallery (ActivityIndicator Gallery):
I tested on iOS 11, 12.4, and 15
Tested for regressions using test case B44980 (which should cover #1989).
Could not re-test #11339 since there I found no test case.
PR Checklist