Fix for NavigationPage.TitleView does not expand with host window in iPadOS 26+#33088
Conversation
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh | bash -s -- 33088Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1) } 33088" |
There was a problem hiding this comment.
Pull request overview
This PR fixes a layout issue on iPadOS 26+ where NavigationPage.TitleView does not resize when window dimensions change during device rotation or Stage Manager window resizing. The fix adds explicit frame updates during view controller transitions to work around iOS 26+ layout behavior changes.
Key Changes:
- Added frame update logic in
ViewWillTransitionToSizethat synchronizes the TitleView Container's frame with the navigation bar during transitions - Uses
AnimateAlongsideTransitionto ensure smooth resizing alongside the system animation - Fix is scoped to iPad devices running iOS/MacCatalyst 26+
|
/rebase |
d2e6e2e to
fc4fffa
Compare
925ea4e to
072ef67
Compare
🤖 AI Summary📊 Expand Full Review🔍 Pre-Flight — Context & Validation📝 Review Session — Update NavigationRenderer.cs ·
|
| # | Source | Approach | Test Result | Files Changed | Notes |
|---|---|---|---|---|---|
| PR | PR #33088 | Add AnimateAlongsideTransition with UpdateTitleViewFrameForOrientation() in ViewWillTransitionToSize for iPad on iOS PENDING (Gate) |
NavigationRenderer.cs (+16) |
Original PR - extends #32815 for iPad Stage Manager | 26+ |
Discussion Summary
PR Comments:
- Automated dogfood instructions
- Rebase request from maintainer
- Prior agent review found Gate failure (tests don't catch bug)
- Copilot review: confirmed fix scopes properly to iPad iOS 26+
- Copilot review: suggested enhancing code comment (PR author incorporated suggestion in latest commit)
Issue Comments:
- Validated on iOS 26.0 (regression from iOS 18.0)
- User asking for timeline on fix release
🚦 Gate — Test Verification
📝 Review Session — Update NavigationRenderer.cs · 9d67ddf
** FAILEDResult:**
Platform: iOS
Mode: Full Verification
Issue: Tests pass both WITH and WITHOUT the fix, indicating they don't properly reproduce the bug.
Test Behavior
- Tests FAIL without NO (tests unexpectedly PASSED)fix:
- Tests PASS with fix YES:
Problem Analysis
The test Issue32722.cs uses App.SetOrientationLandscape() (device rotation) to test TitleView resizing. However:
this was fixed in PR #32815
this is what PR #33088 fixes
The test exercises TraitCollectionDidChange (already fixed in #32815), NOT ViewWillTransitionToSize (the new code in this PR). This is why the test passes even without the PR's fix.
Second Gate Failure
This is the second consecutive Gate failure for this PR. The previous agent review (from prior commit 072ef67) also found the same issue. The most recent commit (9d67ddf from 2026-02-17) only added XML documentation and a code comment update to NavigationRenderer. no tests were added or modified.cs
What's Needed
A new test (or updated test) that:
- Navigates to
Issue32722NavPage - Triggers
ViewWillTransitionToSize(window resizing, not rotation) - Verifies TitleView expands to fill the new width
- This test should FAIL without the PR's
AnimateAlongsideTransitioncode
🔧 Fix — Analysis & Comparison
📝 Review Session — Update NavigationRenderer.cs · 9d67ddf
Fix Phase Skipped
Phase 3 (Fix) was skipped because Gate must pass before Fix exploration.FAILED Gate
When Gate fails, it means the existing tests don't catch the bug, so try-fix cannot be run reliably (the test framework needs working tests to evaluate fix candidates).
Fix Candidates
| # | Source | Approach | Test Result | Files Changed | Notes |
|---|---|---|---|---|---|
| PR | PR #33088 | Add with in | PASS (Gate) | NavigationRenderer.cs (+16) |
Gate passed with fix, but Gate FAILED overall (tests pass without fix too) |
Exhausted: N/A (Gate failed - Fix phase skipped)
Selected Fix: PR's fix - The implementation is correct, but test coverage must be added first before a proper evaluation can be completed.
📋 Report — Final Recommendation
📝 Review Session — Update NavigationRenderer.cs · 9d67ddf
Final Recommendation: REQUEST CHANGES##
Executive Summary
PR #33088 adds a well-scoped, minimal fix for iPadOS 26+ Stage Manager TitleView resizing. The implementation quality is excellent. However, the Gate failed for the second consecutive existing tests do not verify the bug this PR fixes, and the PR has no new tests.time
Gate FAILED (2nd failure)Outcome:
Platform tested: iOS
Issue: Tests pass both WITH and WITHOUT the fix.
Root Cause of Gate Failure:
The test Issue32722.cs uses SetOrientationLandscape() (device rotation), which exercises the TraitCollectionDidChange code path fixed in PR # not the ViewWillTransitionToSize code path added in this PR #33088.32815
| User Action | Code Path | Fixed In |
|---|---|---|
| Device rotation | PR #32815 | |
| Stage Manager window resize | ViewWillTransitionToSize |
PR # this PR |
The test only validates rotation behavior. The window-resizing behavior (the actual bug this PR fixes) is not tested.
Code Quality Excellent:
The implementation is clean and minimal:
- Correctly scoped to iPad devices only (
UIUserInterfaceIdiom.Pad) - Properly version-gated to iOS/MacCatalyst 26+
- Reuses existing
UpdateTitleViewFrameForOrientation()method - Uses correct UIKit animation pattern (
AnimateAlongsideTransition) - Includes XML documentation and explanatory comment
Change Needed: Tests Must Be Added
A test that properly exercises ViewWillTransitionToSize is required. Suggested approaches:
- Update
Issue32722.csto directly testViewWillTransitionToSizebehavior using window resize APIs - Add a new test specifically for the Stage Manager scenario
The test must:
- FAIL without the
AnimateAlongsideTransitioncode inViewWillTransitionToSize - PASS with the fix applied
The write-tests-agent can help create appropriate tests.
History
📋 Expand PR Finalization Review
Title: ⚠️ Needs Update
Current: Fix for NavigationPage.TitleView does not expand with host window in iPadOS 26+
Issues:
- Verbose and conversational ("Fix for ... does not ...")
- Doesn't follow the standard
[Platform] Component: What changedpattern - Missing platform prefix
Recommended: [iOS] NavigationPage: Fix TitleView not expanding on window resize (iPadOS/MacCatalyst 26+)
Description: ✅ Good
- Verbose and conversational ("Fix for ... does not ...")
- Doesn't follow the standard
[Platform] Component: What changedpattern - Missing platform prefix
✨ Suggested PR Description
[!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!
Issue Description
On iPadOS 26+, NavigationPage.TitleView does not resize when the window dimensions change during Stage Manager window resizing or multitasking, causing the TitleView to remain at its original width instead of expanding to fill the navigation bar.
Root Cause
iOS 26+ changed UIKit's layout behavior so that NavigationItem.TitleView container frames are no longer automatically updated during ViewWillTransitionToSize transitions. This specifically affects iPad Stage Manager window resizing and multitasking scenarios, where the window size changes without a device rotation.
Context: PR #32815 previously fixed the device-rotation scenario by handling TraitCollectionDidChange. This PR extends that fix to cover window-resize transitions via ViewWillTransitionToSize.
Description of Change
In ViewWillTransitionToSize in NavigationRenderer.cs (nested ChildViewController), added an AnimateAlongsideTransition call for iPad devices on iOS/MacCatalyst 26+ that invokes the existing UpdateTitleViewFrameForOrientation() method. This synchronizes the TitleView container frame update with UIKit's transition animation, ensuring the TitleView expands to fill the navigation bar after a window resize.
This complements the TraitCollectionDidChange handling added in #32815:
| Scenario | Code Path | Fixed In |
|---|---|---|
| Device rotation | TraitCollectionDidChange |
PR #32815 |
| Stage Manager window resize / multitasking | ViewWillTransitionToSize |
This PR (#33088) |
Issues Fixed
Fixes #32722
Tested the behaviour on the following platforms
- Android
- Windows
- iOS (iPad Stage Manager window resizing)
- Mac
Note
This PR extends the behavior introduced in #32815 by adding support for the iPad Stage Manager window resizing scenario. The earlier PR already provided test coverage for TitleView resizing via Issue32722.cs (rotation test); no new test cases are included in this follow-up.
Code Review: ✅ Passed
Code Review Findings — PR #33088
File: src/Controls/src/Core/Compatibility/Handlers/NavigationPage/iOS/NavigationRenderer.cs
✅ No Critical Issues
✅ Looks Good
1. Correct version guard
if (OperatingSystem.IsIOSVersionAtLeast(26) || OperatingSystem.IsMacCatalystVersionAtLeast(26))Both iOS and MacCatalyst variants are checked, which is important because .ios.cs files compile for both platforms.
2. Correct UIKit animation pattern
coordinator.AnimateAlongsideTransition is the right API to synchronize custom frame updates with UIKit's own transition animation. Using it ensures smooth, glitch-free resizing.
3. Properly scoped to iPad only
The new code is nested inside the existing UIUserInterfaceIdiom.Pad check — iPhones are unaffected.
4. Excellent reuse of UpdateTitleViewFrameForOrientation()
No logic is duplicated; the exact same method used in TraitCollectionDidChange (for rotation) is reused here (for window resize). This is the correct pattern.
5. XML doc comment added
The override now has a <summary> that explains the iOS 26+ iPad-specific behavior. Good addition.
🟡 Low-Priority Suggestions
1. XML doc comment could mention MacCatalyst
File: NavigationRenderer.cs:1605–1608
The <summary> says "iPad iOS 26+" but the code also applies to MacCatalyst 26+ (via IsMacCatalystVersionAtLeast(26)). Minor nit.
Current:
/// On iPad iOS 26+, manually updates TitleView frame to handle Stage Manager window resizing.Suggested:
/// On iPad iOS/MacCatalyst 26+, manually updates TitleView frame to handle Stage Manager window resizing.2. Test coverage gap (informational — pre-existing, not introduced by this PR)
The existing test Issue32722.cs uses App.SetOrientationLandscape() (device rotation), which exercises the TraitCollectionDidChange code path from PR #32815 — not the ViewWillTransitionToSize path added by this PR. There is no automated test that verifies Stage Manager window-resize behavior.
Prior agent review flagged this as a Gate failure (tests pass with and without the fix). Whether this is acceptable depends on whether Stage Manager window-resize can be simulated in Appium tests.
This is informational only — the author acknowledged no new tests were added, and Stage Manager resize may not be automatable in the current test infrastructure.
3. Thread.Sleep(2000) in test (pre-existing, not introduced by this PR)
File: src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue32722.cs:29, 47
The test uses System.Threading.Thread.Sleep(2000) after SetOrientationLandscape/Portrait. Per testing guidelines, VerifyScreenshot(retryTimeout: ...) or App.WaitForElement with a timeout is preferred. This was introduced in PR #32815, not here.
Summary
| Criterion | Result |
|---|---|
| Correctness | ✅ Correct UIKit API, correct version guard, correct device scope |
| Code quality | ✅ Clean, minimal, well-documented |
| Reuse | ✅ Reuses UpdateTitleViewFrameForOrientation() — no duplication |
| Breaking changes | ✅ None — only affects iPad iOS/MacCatalyst 26+ |
| Platform scope | ✅ Properly limited to UIUserInterfaceIdiom.Pad |
| Test coverage |
…iPadOS 26+ (#33088) <!-- !!!!!!! MAIN IS THE ONLY ACTIVE BRANCH. MAKE SURE THIS PR IS TARGETING MAIN. !!!!!!! --> ### Issue Description: On iPadOS 26+, NavigationPage.TitleView does not resize when the window dimensions change during device rotation, causing the TitleView to remain at its original width instead of expanding to fill the navigation bar. ### Root Cause iOS 26+ changed UIKit's layout behavior so that NavigationItem.TitleView container frames are no longer automatically updated during ViewWillTransitionToSize transitions, causing the TitleView to retain its original dimensions even when the navigation bar resizes. ### Description of Change Added explicit frame updates for the TitleView Container during view controller transitions on iOS 26+ by leveraging AnimateAlongsideTransition to synchronize the Container's frame with the navigation bar's dimensions, ensuring smooth resizing during rotation and window size changes. ### Issues Fixed Fixes #[32722 ](#32722) ### Tested the behaviour on the following platforms - [ ] Android - [ ] Windows - [x] iOS - [ ] Mac ### Note: This PR extends the behavior introduced in #32815 by adding support for the iPad scenario. As the earlier PR already provided the necessary test coverage, no new testcases are included in this follow‑up. ### Output Screenshot Before Issue Fix | After Issue Fix | |----------|----------| |<video width="300" height="150" alt="Before Fix" src="https://github.com/user-attachments/assets/22f2318e-0cbf-40e4-bbe6-0fb89d22b49f">|<video width="300" height="150" alt="After Fix" src="https://github.com/user-attachments/assets/492bac5f-447a-4c1d-9262-e0877053c1f5">|
…iPadOS 26+ (#33088) <!-- !!!!!!! MAIN IS THE ONLY ACTIVE BRANCH. MAKE SURE THIS PR IS TARGETING MAIN. !!!!!!! --> ### Issue Description: On iPadOS 26+, NavigationPage.TitleView does not resize when the window dimensions change during device rotation, causing the TitleView to remain at its original width instead of expanding to fill the navigation bar. ### Root Cause iOS 26+ changed UIKit's layout behavior so that NavigationItem.TitleView container frames are no longer automatically updated during ViewWillTransitionToSize transitions, causing the TitleView to retain its original dimensions even when the navigation bar resizes. ### Description of Change Added explicit frame updates for the TitleView Container during view controller transitions on iOS 26+ by leveraging AnimateAlongsideTransition to synchronize the Container's frame with the navigation bar's dimensions, ensuring smooth resizing during rotation and window size changes. ### Issues Fixed Fixes #[32722 ](#32722) ### Tested the behaviour on the following platforms - [ ] Android - [ ] Windows - [x] iOS - [ ] Mac ### Note: This PR extends the behavior introduced in #32815 by adding support for the iPad scenario. As the earlier PR already provided the necessary test coverage, no new testcases are included in this follow‑up. ### Output Screenshot Before Issue Fix | After Issue Fix | |----------|----------| |<video width="300" height="150" alt="Before Fix" src="https://github.com/user-attachments/assets/22f2318e-0cbf-40e4-bbe6-0fb89d22b49f">|<video width="300" height="150" alt="After Fix" src="https://github.com/user-attachments/assets/492bac5f-447a-4c1d-9262-e0877053c1f5">|
…iPadOS 26+ (#33088) <!-- !!!!!!! MAIN IS THE ONLY ACTIVE BRANCH. MAKE SURE THIS PR IS TARGETING MAIN. !!!!!!! --> ### Issue Description: On iPadOS 26+, NavigationPage.TitleView does not resize when the window dimensions change during device rotation, causing the TitleView to remain at its original width instead of expanding to fill the navigation bar. ### Root Cause iOS 26+ changed UIKit's layout behavior so that NavigationItem.TitleView container frames are no longer automatically updated during ViewWillTransitionToSize transitions, causing the TitleView to retain its original dimensions even when the navigation bar resizes. ### Description of Change Added explicit frame updates for the TitleView Container during view controller transitions on iOS 26+ by leveraging AnimateAlongsideTransition to synchronize the Container's frame with the navigation bar's dimensions, ensuring smooth resizing during rotation and window size changes. ### Issues Fixed Fixes #[32722 ](#32722) ### Tested the behaviour on the following platforms - [ ] Android - [ ] Windows - [x] iOS - [ ] Mac ### Note: This PR extends the behavior introduced in #32815 by adding support for the iPad scenario. As the earlier PR already provided the necessary test coverage, no new testcases are included in this follow‑up. ### Output Screenshot Before Issue Fix | After Issue Fix | |----------|----------| |<video width="300" height="150" alt="Before Fix" src="https://github.com/user-attachments/assets/22f2318e-0cbf-40e4-bbe6-0fb89d22b49f">|<video width="300" height="150" alt="After Fix" src="https://github.com/user-attachments/assets/492bac5f-447a-4c1d-9262-e0877053c1f5">|
…iPadOS 26+ (#33088) <!-- !!!!!!! MAIN IS THE ONLY ACTIVE BRANCH. MAKE SURE THIS PR IS TARGETING MAIN. !!!!!!! --> ### Issue Description: On iPadOS 26+, NavigationPage.TitleView does not resize when the window dimensions change during device rotation, causing the TitleView to remain at its original width instead of expanding to fill the navigation bar. ### Root Cause iOS 26+ changed UIKit's layout behavior so that NavigationItem.TitleView container frames are no longer automatically updated during ViewWillTransitionToSize transitions, causing the TitleView to retain its original dimensions even when the navigation bar resizes. ### Description of Change Added explicit frame updates for the TitleView Container during view controller transitions on iOS 26+ by leveraging AnimateAlongsideTransition to synchronize the Container's frame with the navigation bar's dimensions, ensuring smooth resizing during rotation and window size changes. ### Issues Fixed Fixes #[32722 ](#32722) ### Tested the behaviour on the following platforms - [ ] Android - [ ] Windows - [x] iOS - [ ] Mac ### Note: This PR extends the behavior introduced in #32815 by adding support for the iPad scenario. As the earlier PR already provided the necessary test coverage, no new testcases are included in this follow‑up. ### Output Screenshot Before Issue Fix | After Issue Fix | |----------|----------| |<video width="300" height="150" alt="Before Fix" src="https://github.com/user-attachments/assets/22f2318e-0cbf-40e4-bbe6-0fb89d22b49f">|<video width="300" height="150" alt="After Fix" src="https://github.com/user-attachments/assets/492bac5f-447a-4c1d-9262-e0877053c1f5">|
…iPadOS 26+ (dotnet#33088) <!-- !!!!!!! MAIN IS THE ONLY ACTIVE BRANCH. MAKE SURE THIS PR IS TARGETING MAIN. !!!!!!! --> ### Issue Description: On iPadOS 26+, NavigationPage.TitleView does not resize when the window dimensions change during device rotation, causing the TitleView to remain at its original width instead of expanding to fill the navigation bar. ### Root Cause iOS 26+ changed UIKit's layout behavior so that NavigationItem.TitleView container frames are no longer automatically updated during ViewWillTransitionToSize transitions, causing the TitleView to retain its original dimensions even when the navigation bar resizes. ### Description of Change Added explicit frame updates for the TitleView Container during view controller transitions on iOS 26+ by leveraging AnimateAlongsideTransition to synchronize the Container's frame with the navigation bar's dimensions, ensuring smooth resizing during rotation and window size changes. ### Issues Fixed Fixes #[32722 ](dotnet#32722) ### Tested the behaviour on the following platforms - [ ] Android - [ ] Windows - [x] iOS - [ ] Mac ### Note: This PR extends the behavior introduced in dotnet#32815 by adding support for the iPad scenario. As the earlier PR already provided the necessary test coverage, no new testcases are included in this follow‑up. ### Output Screenshot Before Issue Fix | After Issue Fix | |----------|----------| |<video width="300" height="150" alt="Before Fix" src="https://github.com/user-attachments/assets/22f2318e-0cbf-40e4-bbe6-0fb89d22b49f">|<video width="300" height="150" alt="After Fix" src="https://github.com/user-attachments/assets/492bac5f-447a-4c1d-9262-e0877053c1f5">|
…iPadOS 26+ (#33088) <!-- !!!!!!! MAIN IS THE ONLY ACTIVE BRANCH. MAKE SURE THIS PR IS TARGETING MAIN. !!!!!!! --> ### Issue Description: On iPadOS 26+, NavigationPage.TitleView does not resize when the window dimensions change during device rotation, causing the TitleView to remain at its original width instead of expanding to fill the navigation bar. ### Root Cause iOS 26+ changed UIKit's layout behavior so that NavigationItem.TitleView container frames are no longer automatically updated during ViewWillTransitionToSize transitions, causing the TitleView to retain its original dimensions even when the navigation bar resizes. ### Description of Change Added explicit frame updates for the TitleView Container during view controller transitions on iOS 26+ by leveraging AnimateAlongsideTransition to synchronize the Container's frame with the navigation bar's dimensions, ensuring smooth resizing during rotation and window size changes. ### Issues Fixed Fixes #[32722 ](#32722) ### Tested the behaviour on the following platforms - [ ] Android - [ ] Windows - [x] iOS - [ ] Mac ### Note: This PR extends the behavior introduced in #32815 by adding support for the iPad scenario. As the earlier PR already provided the necessary test coverage, no new testcases are included in this follow‑up. ### Output Screenshot Before Issue Fix | After Issue Fix | |----------|----------| |<video width="300" height="150" alt="Before Fix" src="https://github.com/user-attachments/assets/22f2318e-0cbf-40e4-bbe6-0fb89d22b49f">|<video width="300" height="150" alt="After Fix" src="https://github.com/user-attachments/assets/492bac5f-447a-4c1d-9262-e0877053c1f5">|
## What's Coming .NET MAUI inflight/candidate introduces significant improvements across all platforms with focus on quality, performance, and developer experience. This release includes 46 commits with various improvements, bug fixes, and enhancements. ## Button - [Android] Implemented material3 support for Button by @Dhivya-SF4094 in #33173 <details> <summary>🔧 Fixes</summary> - [Implement Material3 support for Button](#33172) </details> ## CollectionView - [Android] Fix RemainingItemsThresholdReachedCommand not firing when CollectionView has Header and Footer both defined by @SuthiYuvaraj in #29618 <details> <summary>🔧 Fixes</summary> - [Android : RemainingItemsThresholdReachedCommand not firing when CollectionVew has Header and Footer both defined](#29588) </details> - [iOS/MacCatalyst] Fix CollectionView ScrollTo for horizontal layouts by @Shalini-Ashokan in #33853 <details> <summary>🔧 Fixes</summary> - [[iOS/MacCatalyst] CollectionView ScrollTo does not work with horizontal Layout](#33852) </details> - [iOS & Mac] Fixed IndicatorView Size doesnt update dynamically by @SubhikshaSf4851 in #31129 <details> <summary>🔧 Fixes</summary> - [[iOS, Catalyst] IndicatorView.IndicatorSize does not update dynamically at runtime](#31064) </details> - [Android] Fix for CollectionView Scrolled event is triggered on the initial app load. by @BagavathiPerumal in #33558 <details> <summary>🔧 Fixes</summary> - [[Android] CollectionView Scrolled event is triggered on the initial app load.](#33333) </details> - [iOS, Android] Fix for CollectionView IsEnabled=false allows touch interactions by @praveenkumarkarunanithi in #31403 <details> <summary>🔧 Fixes</summary> - [More issues with CollectionView IsEnabled, InputTransparent, Opacity via Styles and code behind](#19771) </details> - [iOS] Fix VerticalOffset Update When Modifying CollectionView.ItemsSource While Scrolled by @devanathan-vaithiyanathan in #34153 <details> <summary>🔧 Fixes</summary> - [[iOS]VerticalOffset Not Reset to Zero After Clearing ItemSource in CollectionView](#26798) </details> ## DateTimePicker - [Android] Fix DatePicker MinimumDate/MaximumDate not updating dynamically by @HarishwaranVijayakumar in #33687 <details> <summary>🔧 Fixes</summary> - [[regression/8.0.3] [Android] DatePicker control minimum date issue](#19256) - [[Android] DatePicker does not update MinimumDate / MaximumDate in the Popup when set in the viewmodel after first opening](#33583) </details> ## Drawing - Android drawable perf by @albyrock87 in #31567 ## Editor - [Android] Implemented material3 support for Editor by @SyedAbdulAzeemSF4852 in #33478 <details> <summary>🔧 Fixes</summary> - [Implement Material3 Support for Editor](#33476) </details> ## Entry - [iOS, Mac] Fix for CursorPosition not updating when typing into Entry control by @SyedAbdulAzeemSF4852 in #30505 <details> <summary>🔧 Fixes</summary> - [Entry control CursorPosition does not update on TextChanged event [iOS Maui 8.0.7] ](#20911) - [CursorPosition not calculated correctly on behaviors events for iOS devices](#32483) </details> ## Flyoutpage - [Android, Windows] Fix for FlyoutPage toolbar button not updating on orientation change by @praveenkumarkarunanithi in #31962 <details> <summary>🔧 Fixes</summary> - [Flyout page in Android does not show flyout button (burger) consistently](#24468) </details> - Fix for First Item in CollectionView Overlaps in FlyoutPage.Flyout on iOS by @praveenkumarkarunanithi in #29265 <details> <summary>🔧 Fixes</summary> - [[iOS] CollectionView not rendering first item correctly in FlyoutPage.Flyout](#29170) </details> ## Image - [Android] Fix excessive memory usage for stream and resource-based image loading by @Shalini-Ashokan in #33590 <details> <summary>🔧 Fixes</summary> - [[Android] Unexpected high Bitmap.ByteCount when loading image via ImageSource.FromResource() or ImageSource.FromStream() in .NET MAUI](#33239) </details> - [Android] Fix for Resize method returns an image that has already been disposed by @SyedAbdulAzeemSF4852 in #29964 <details> <summary>🔧 Fixes</summary> - [In GraphicsView, the Resize method returns an image that has already been disposed](#29961) - [IIMage.Resize bugged behaviour](#31103) </details> ## Label - Fixed Label Span font property inheritance when applied via Style by @SubhikshaSf4851 in #34110 <details> <summary>🔧 Fixes</summary> - [`Span` does not inherit text styling from `Label` if that styling is applied using `Style` ](#21326) </details> - [Android] Implemented material3 support for Label by @SyedAbdulAzeemSF4852 in #33599 <details> <summary>🔧 Fixes</summary> - [Implement Material3 Support for Label](#33598) </details> ## Map - [Android] Fix Circle Stroke color is incorrectly updated as Fill color. by @NirmalKumarYuvaraj in #33643 <details> <summary>🔧 Fixes</summary> - [[Android] Circle Stroke color is incorrectly updated as Fill color.](#33642) </details> ## Mediapicker - [iOS] Fix: invoke MediaPicker completion handler after DismissViewController by @yuriikyry4enko in #34250 <details> <summary>🔧 Fixes</summary> - [[iOS] Media Picker UIImagePickerController closing issue](#21996) </details> ## Navigation - Fix ContentPage memory leak on Android when using NavigationPage modally (fixes #33918) by @brunck in #34117 <details> <summary>🔧 Fixes</summary> - [[Android] Modal TabbedPage whose tabs are NavigationPage(ContentPage) is retained after PopModalAsync()](#33918) </details> ## Picker - [Android] Implement material3 support for TimePicker by @HarishwaranVijayakumar in #33646 <details> <summary>🔧 Fixes</summary> - [Implement Material3 support for TimePicker](#33645) </details> - [Android] Implemented Material3 support for Picker by @SyedAbdulAzeemSF4852 in #33668 <details> <summary>🔧 Fixes</summary> - [Implement Material3 support for Picker](#33665) </details> ## RadioButton - [Android] Implemented material3 support for RadioButton by @SyedAbdulAzeemSF4852 in #33468 <details> <summary>🔧 Fixes</summary> - [Implement Material3 Support for RadioButton](#33467) </details> ## Setup - Clarify MA003 error message by @jeremy-visionaid in #34067 <details> <summary>🔧 Fixes</summary> - [MA003 false positive with 9.0.21](#26599) </details> ## Shell - [Android] Fix TabBar FlowDirection not updating dynamically by @SubhikshaSf4851 in #33091 <details> <summary>🔧 Fixes</summary> - [[Android, iOS] FlowDirection RTL is not updated dynamically on Shell TabBar](#32993) </details> - [Android] Fix page not disposed on Shell replace navigation by @Vignesh-SF3580 in #33426 <details> <summary>🔧 Fixes</summary> - [[Android] [Shell] replace navigation leaks current page](#25134) </details> - [Android] Fixed Shell flyout does not disable scrolling when FlyoutVerticalScrollMode is set to Disabled by @NanthiniMahalingam in #32734 <details> <summary>🔧 Fixes</summary> - [[Android] Shell.FlyoutVerticalScrollMode="Disabled" does not disable scrolling](#32477) </details> ## Single Project - Fix: Throw a clear error when an SVG lacks dimensions instead of a NullReferenceException by @Shalini-Ashokan in #33194 <details> <summary>🔧 Fixes</summary> - [MAUI Fails To Convert Valid SVG Files Into PNG Files (Object reference not set to an instance of an object)](#32460) </details> ## SwipeView - [iOS] Fix SwipeView stays open on iOS after updating content by @devanathan-vaithiyanathan in #31248 <details> <summary>🔧 Fixes</summary> - [[iOS] - Swipeview with collectionview issue](#19541) </details> ## TabbedPage - [Windows] Fixed IsEnabled Property not works on Tabs by @NirmalKumarYuvaraj in #26728 <details> <summary>🔧 Fixes</summary> - [ShellContent IsEnabledProperty does not work](#5161) - [[Windows] Shell Tab IsEnabled Not Working](#32996) </details> - [Android] Fix NavigationBar overlapping StatusBar when NavigationBar visibility changes by @Vignesh-SF3580 in #33359 <details> <summary>🔧 Fixes</summary> - [[Android] NavigationBar overlaps with StatusBar when mixing HasNavigationBar=true/false in TabbedPage on Android 15 (API 35)](#33340) </details> ## Templates - Fix for unable to open task using keyboard navigation on windows platform by @SuthiYuvaraj in #33647 <details> <summary>🔧 Fixes</summary> - [Unable to open task using keyboard: A11y_.NET maui_User can get all the insights of Dashboard_Keyboard](#30787) </details> ## TitleView - Fix for NavigationPage.TitleView does not expand with host window in iPadOS 26+ by @SuthiYuvaraj in #33088 ## Toolbar - [iOS] Fix toolbar items ignoring BarTextColor on iOS/MacCatalyst 26+ by @Shalini-Ashokan in #34036 <details> <summary>🔧 Fixes</summary> - [[iOS 26] ToolbarItem color with custom BarTextColor not working](#33970) </details> - [Android] Fix for ToolbarItem retaining the icon from the previous page on Android when using NavigationPage. by @BagavathiPerumal in #32311 <details> <summary>🔧 Fixes</summary> - [Toolbaritem keeps the icon of the previous page on Android, using NavigationPage (not shell)](#31727) </details> ## WebView - [Android] Fix WebView in a grid expands beyond it's cell by @devanathan-vaithiyanathan in #32145 <details> <summary>🔧 Fixes</summary> - [Android - WebView in a grid expands beyond it's cell](#32030) </details> ## Xaml - ContentPresenter: Propagate binding context to children with explicit TemplateBinding by @HarishwaranVijayakumar in #30880 <details> <summary>🔧 Fixes</summary> - [Binding context in ContentPresenter](#23797) </details> <details> <summary>🔧 Infrastructure (1)</summary> - [Revert] ContentPresenter: Propagate binding context to children with explicit TemplateBinding by @Ahamed-Ali in #34332 </details> <details> <summary>🧪 Testing (6)</summary> - [Testing] Feature Matrix UITest Cases for Shell Flyout Page by @NafeelaNazhir in #32525 - [Testing] Feature Matrix UITest Cases for Brushes by @LogishaSelvarajSF4525 in #31833 - [Testing] Feature Matrix UITest Cases for BindableLayout by @LogishaSelvarajSF4525 in #33108 - [Android] Add UI tests for Material 3 CheckBox by @HarishwaranVijayakumar in #34126 <details> <summary>🔧 Fixes</summary> - [[Android] Add UI tests for Material 3 CheckBox](#34125) </details> - [Testing] Feature Matrix UITest Cases for Shell Tabbed Page by @NafeelaNazhir in #33159 - [Testing] Fixed Test case failure in PR 34294 - [03/2/2026] Candidate - 1 by @TamilarasanSF4853 in #34334 </details> <details> <summary>📦 Other (2)</summary> - Bumps Syncfusion.Maui.Toolkit dependency to version 1.0.9 by @PaulAndersonS in #34178 - Fix crash when closing Windows based app when using TitleBar by @MFinkBK in #34032 <details> <summary>🔧 Fixes</summary> - [Unhandled exception "Value does not fall within the expected range" when closing Windows app](#32194) </details> </details> **Full Changelog**: main...inflight/candidate
Issue Description:
On iPadOS 26+, NavigationPage.TitleView does not resize when the window dimensions change during device rotation, causing the TitleView to remain at its original width instead of expanding to fill the navigation bar.
Root Cause
iOS 26+ changed UIKit's layout behavior so that NavigationItem.TitleView container frames are no longer automatically updated during ViewWillTransitionToSize transitions, causing the TitleView to retain its original dimensions even when the navigation bar resizes.
Description of Change
Added explicit frame updates for the TitleView Container during view controller transitions on iOS 26+ by leveraging AnimateAlongsideTransition to synchronize the Container's frame with the navigation bar's dimensions, ensuring smooth resizing during rotation and window size changes.
Issues Fixed
Fixes #32722
Tested the behaviour on the following platforms
Note:
This PR extends the behavior introduced in #32815 by adding support for the iPad scenario. As the earlier PR already provided the necessary test coverage, no new testcases are included in this follow‑up.
Output Screenshot
Screen.Recording.2025-12-10.at.5.34.39.PM.mov
Screen.Recording.2025-12-10.at.5.32.12.PM.mov