This issue is similar to #32777, fixed in .NET MAUI 10.0.11, but it still happens in a different scenario.
The fix of #32777 correctly restores the Shell.TitleView on root pages, but the problem remains when the page is pushed with a back button visible (using Navigation.PushAsync).
In this case, the TitleView defined in XAML is not shown at all on iOS 26.
The only workaround is to inject the TitleView programmatically in OnAppearing, after a small Task.Delay, otherwise the TitleView is ignored by the native navigation bar. This workaround introduces a visible UI delay.
- Clone the reproduction repository: https://github.com/riccardodangelo/MauiTitleViewNavigationShellBugIOS
- Run the app on iOS 26.x
- The root page shows the TitleView correctly.
- Tap the button to navigate to
ChildPage(await Navigation.PushAsync(new ChildPage());). - On the pushed page, the TitleView does not appear, even though the XAML is identical to the root page
The TitleView should appear also on the pushed page.
The TitleView is missing on iOS 26.x when the page has a back button.
https://github.com/riccardodangelo/MauiTitleViewNavigationShellBugIOS
10.0.11
Yes, this used to work in .NET MAUI
9.0.0-preview.4.10690
iOS
iOS 26.0 / 26.1
Yes, but with side effects.
To make the TitleView appear, it must be set programmatically inside OnAppearing, and only after a short delay:
protected override void OnAppearing()
{
base.OnAppearing();
MainThread.BeginInvokeOnMainThread(async () =>
{
await Task.Delay(50); // required, otherwise TitleView is ignored
Shell.SetTitleView(this, CreateMyCustomTitleView());
});
}
Without the delay, or when the TitleView is declared normally in XAML, iOS 26 does not render it. This workaround causes a visible UI delay when navigating on the pushed page.