-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[iOS] Tab bar ghosting issue on iOS 26 (liquid glass) #34143
Copy link
Copy link
Labels
area-controls-shellShell Navigation, Routes, Tabs, FlyoutShell Navigation, Routes, Tabs, Flyoutpartner/syncfusionIssues / PR's with Syncfusion collaborationIssues / PR's with Syncfusion collaborationplatform/ioss/triagedIssue has been reviewedIssue has been revieweds/verifiedVerified / Reproducible Issue ready for Engineering TriageVerified / Reproducible Issue ready for Engineering Triaget/bugSomething isn't workingSomething isn't workingversion/iOS-26
Milestone
Metadata
Metadata
Assignees
Labels
area-controls-shellShell Navigation, Routes, Tabs, FlyoutShell Navigation, Routes, Tabs, Flyoutpartner/syncfusionIssues / PR's with Syncfusion collaborationIssues / PR's with Syncfusion collaborationplatform/ioss/triagedIssue has been reviewedIssue has been revieweds/verifiedVerified / Reproducible Issue ready for Engineering TriageVerified / Reproducible Issue ready for Engineering Triaget/bugSomething isn't workingSomething isn't workingversion/iOS-26
Type
Fields
Give feedbackNo fields configured for issues without a type.
Description
The tab bar gets rendered incorrectly on iOS 26 if UI compatibility mode is disabled.
The selected tab bar item becomes empty. Ghosting issue appears.
Steps to Reproduce
<TabBar/>of the shell to make the tab bar visible.Shell.Current.Navigation.PushModalAsync()Shell.Current.GoToAsync()iOS 26
XCode 26.2
Microsoft.Maui.Controls 10.0.40
dotnet workload listoutput:Link to public reproduction project repository
https://github.com/oleh-kaliuzhnyi/ShellTabBarGhostingIssue/tree/master
Version with bug
10.0.40
Is this a regression from previous behavior?
Yes, this used to work in .NET MAUI
Last version that worked well
9.0.120 with target iOS version 18
Affected platforms
iOS
Affected platform versions
iOS 26
Did you find any workaround?
Either enable UI compatibility mode in Info.plist
Or
Do not use modal stack. Push the page to the regular stack using
Shell.Current.Navigation.PushAsync()instead of usingShell.Current.Navigation.PushModalAsync()Relevant log output