Skip to content

Fix for NavigationPage.TitleView does not expand with host window in iPadOS 26+#33088

Merged
jfversluis merged 6 commits intodotnet:inflight/currentfrom
SuthiYuvaraj:fix-32722
Feb 24, 2026
Merged

Fix for NavigationPage.TitleView does not expand with host window in iPadOS 26+#33088
jfversluis merged 6 commits intodotnet:inflight/currentfrom
SuthiYuvaraj:fix-32722

Conversation

@SuthiYuvaraj
Copy link
Copy Markdown
Contributor

@SuthiYuvaraj SuthiYuvaraj commented Dec 10, 2025

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

  • Android
  • Windows
  • 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
Screen.Recording.2025-12-10.at.5.34.39.PM.mov
Screen.Recording.2025-12-10.at.5.32.12.PM.mov

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Dec 10, 2025

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh | bash -s -- 33088

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1) } 33088"

@dotnet-policy-service dotnet-policy-service bot added the partner/syncfusion Issues / PR's with Syncfusion collaboration label Dec 10, 2025
@karthikraja-arumugam karthikraja-arumugam added the community ✨ Community Contribution label Dec 10, 2025
@sheiksyedm sheiksyedm added area-controls-titleview TitleView platform/macos macOS / Mac Catalyst labels Dec 11, 2025
@sheiksyedm sheiksyedm marked this pull request as ready for review December 11, 2025 14:38
Copilot AI review requested due to automatic review settings December 11, 2025 14:38
Copy link
Copy Markdown
Contributor

Copilot AI left a 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 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 ViewWillTransitionToSize that synchronizes the TitleView Container's frame with the navigation bar during transitions
  • Uses AnimateAlongsideTransition to ensure smooth resizing alongside the system animation
  • Fix is scoped to iPad devices running iOS/MacCatalyst 26+

@sheiksyedm
Copy link
Copy Markdown
Contributor

/rebase

@rmarinho
Copy link
Copy Markdown
Member

rmarinho commented Feb 17, 2026

🤖 AI Summary

📊 Expand Full Review
🔍 Pre-Flight — Context & Validation
📝 Review SessionUpdate NavigationRenderer.cs · 9d67ddf

Issue: #32722 - NavigationPage.TitleView does not expand with host window in iPadOS 26+

PR: #33088 by @SuthiYuvaraj

Platforms Affected: iOS (specifically iPadOS 26+, MacCatalyst 26+)

Files Changed: 1 implementation file (no new test files - tests from related PR #32815 reused)


Summary

On iPadOS 26+, NavigationPage.TitleView does not resize when window dimensions change during Stage Manager window resizing or multitasking. The TitleView remains at its original width instead of expanding to fill the navigation bar.

Root Cause (from PR)

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.

PR's Fix Approach

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 in ViewWillTransitionToSize.

Implementation:

  • In ViewWillTransitionToSize method of NavigationRenderer.cs (nested ViewController class)
  • For iPad devices (UIUserInterfaceIdiom.Pad) on iOS/MacCatalyst 26+
  • Calls UpdateTitleViewFrameForOrientation() within AnimateAlongsideTransition
  • 16 lines added (XML doc + fix code)

Related Context

Key Findings

  • Issue is specific to iOS 26+ behavior change in UIKit
  • Affects iPad devices (Stage Manager window resizing)
  • Tests exist from PR [iOS 26] NavigationPage.TitleView resizing on iOS 26+ rotation - Fix #32815 (Issue32722.xaml/cs)
  • Fix is minimal and scoped to iPad iOS 26+ in ViewWillTransitionToSize
  • Latest commit (2026-02-17) added XML documentation to ViewWillTransitionToSize and updated code comment
  • No new tests were added in any PR commits

Prior Agent Review Found

Fix Candidates

# 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 SessionUpdate 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:

  1. Navigates to Issue32722NavPage
  2. Triggers ViewWillTransitionToSize (window resizing, not rotation)
  3. Verifies TitleView expands to fill the new width
  4. This test should FAIL without the PR's AnimateAlongsideTransition code

🔧 Fix — Analysis & Comparison
📝 Review SessionUpdate 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 SessionUpdate 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:

  1. Update Issue32722.cs to directly test ViewWillTransitionToSize behavior using window resize APIs
  2. Add a new test specifically for the Stage Manager scenario

The test must:

  • FAIL without the AnimateAlongsideTransition code in ViewWillTransitionToSize
  • PASS with the fix applied

The write-tests-agent can help create appropriate tests.


History

  • Previous review (commit 072ef67): FAILED, REQUEST CHANGESGate
  • Latest commit (9d67ddf, 2026-02-17): Only added XML documentation and code no new testscomment
  • This review: FAILED again for the same reasonGate

📋 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 changed pattern
  • 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 changed pattern
  • 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 #32815not 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 ⚠️ No test for the new code path (Stage Manager resize) — pre-existing concern

@rmarinho rmarinho added s/agent-changes-requested AI agent recommends changes - found a better alternative or issues s/agent-gate-failed AI could not verify tests catch the bug s/agent-reviewed PR was reviewed by AI agent workflow (full 4-phase review) labels Feb 17, 2026
@kubaflo kubaflo added the s/agent-suggestions-implemented Maintainer applies when PR author adopts agent's recommendation label Feb 17, 2026
@github-project-automation github-project-automation bot moved this from Todo to Approved in MAUI SDK Ongoing Feb 17, 2026
@rmarinho rmarinho added the s/agent-fix-lose Author adopted the agent's fix and it turned out to be bad label Feb 18, 2026
@kubaflo kubaflo added s/agent-fix-pr-picked AI could not beat the PR fix - PR is the best among all candidates and removed s/agent-fix-lose Author adopted the agent's fix and it turned out to be bad labels Feb 20, 2026
@jfversluis jfversluis changed the base branch from main to inflight/current February 24, 2026 10:23
@jfversluis jfversluis merged commit 9ac8827 into dotnet:inflight/current Feb 24, 2026
24 of 27 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Done in MAUI SDK Ongoing Feb 24, 2026
github-actions bot pushed a commit that referenced this pull request Feb 24, 2026
…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">|
jfversluis pushed a commit that referenced this pull request Mar 2, 2026
…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">|
jfversluis pushed a commit that referenced this pull request Mar 2, 2026
…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">|
github-actions bot pushed a commit that referenced this pull request Mar 3, 2026
…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">|
HarishKumarSF4517 pushed a commit to HarishKumarSF4517/maui that referenced this pull request Mar 5, 2026
…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">|
github-actions bot pushed a commit that referenced this pull request Mar 6, 2026
…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">|
PureWeen added a commit that referenced this pull request Mar 11, 2026
## 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
@github-actions github-actions bot locked and limited conversation to collaborators Mar 27, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-controls-titleview TitleView community ✨ Community Contribution partner/syncfusion Issues / PR's with Syncfusion collaboration platform/macos macOS / Mac Catalyst s/agent-changes-requested AI agent recommends changes - found a better alternative or issues s/agent-fix-pr-picked AI could not beat the PR fix - PR is the best among all candidates s/agent-gate-failed AI could not verify tests catch the bug s/agent-reviewed PR was reviewed by AI agent workflow (full 4-phase review) s/agent-suggestions-implemented Maintainer applies when PR author adopts agent's recommendation

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

9 participants