Skip to content

Commit 360c182

Browse files
committed
fix(ios): preserve Liquid Glass on iOS 26 by skipping custom UITabBarAppearance
On iOS 26, creating a custom UITabBarAppearance replaces the system-provided Liquid Glass material. This adds an early return in updateTabBarAppearance() on iOS 26+ when no explicit barTintColor or opaque scrollEdgeAppearance is set, so the system renders Liquid Glass instead. The inactive tint color is still applied via tabBar.unselectedItemTintColor for apps that set tabBarInactiveTintColor. Fixes #439
1 parent 3572fc2 commit 360c182

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

packages/react-native-bottom-tabs/ios/TabViewImpl.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,15 @@ struct TabViewImpl: View {
117117

118118
tabBar.isHidden = props.tabBarHidden
119119

120+
if #available(iOS 26.0, *) {
121+
if props.barTintColor == nil && props.scrollEdgeAppearance != "opaque" {
122+
if let inactiveTintColor = props.inactiveTintColor {
123+
tabBar.unselectedItemTintColor = inactiveTintColor
124+
}
125+
return
126+
}
127+
}
128+
120129
if props.scrollEdgeAppearance == "transparent" {
121130
configureTransparentAppearance(tabBar: tabBar, props: props)
122131
return

0 commit comments

Comments
 (0)