-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Fix TitleView covering content in iOS 26+ Shell #32337
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
Conversation
Adjusts TitleViewContainer to use autoresizing masks and sets the frame for iOS 26+ and Mac Catalyst 26+ to prevent the custom TitleView from covering Shell content. Adds a test case and UI test for Issue 32287 to verify the fix.
|
Hey there @@kubaflo! Thank you so much for your PR! Someone from the team will get assigned to your PR shortly and we'll get it reviewed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR attempts to fix an issue where custom TitleView in AppShell causes shell content to be covered on iOS. The implementation adds special handling for what is incorrectly labeled as "iOS 26+" by using autoresizing masks instead of constraints for the TitleView container.
- Adds conditional logic to handle TitleView display differently for a specific iOS version
- Creates a new constructor overload for TitleViewContainer that accepts navigationBarFrame
- Includes a UI test to verify the custom TitleView does not cover content
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| Issue32287.cs | NUnit test implementation to verify custom TitleView doesn't cover content |
| Issue32287.xaml.cs | Code-behind for Shell test page with iOS platform specification |
| Issue32287.xaml | XAML defining Shell with custom TitleView and test content |
| ShellPageRendererTracker.cs | Core fix implementing version-specific TitleView container logic |
- Added CreateTitleViewContainer helper method to reduce code duplication - Improved iOS 26+ detection with proper fallback when navigation bar frame unavailable - Set frame origin to (0,0) instead of preserving potentially uninitialized X/Y values - Added comprehensive XML documentation explaining iOS 26 workaround - Added test case and UI test for Issue32287 This implementation addresses the critical issues identified in PR #32337 review: - Eliminates silent failure by providing fallback to standard constructor - Clarifies frame positioning logic with explicit (0,0) origin - Reduces code duplication through helper method - Adds proper documentation for maintainability Co-authored-by: PureWeen <5375137+PureWeen@users.noreply.github.com>
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
| public void CustomTitleViewDoesNotCoverContent() | ||
| { | ||
| App.WaitForElement("Label"); | ||
| VerifyScreenshot(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
closing in favor of |

Note
Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!
Description of Change
Adjusts TitleViewContainer to use autoresizing masks and sets the frame for iOS 26+ and Mac Catalyst 26+ to prevent the custom TitleView from covering Shell content. Adds a test case and UI test for Issue 32287 to verify the fix.
Issues Fixed
Fixes #32287