[iOS 26] Active tint color not adapting when scrolling over light/dark content even though it is set to a DynamicColorIOS
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- ios, react-native, typescript
- Área
- mobile
Línea de trabajo
Comienza con el manejo de tabBarActiveTintColor y tabBarInactiveTintColor en react-native-bottom-tabs, utilizando el repositorio de reproducción enlazado y los pasos de compilación para iOS proporcionados. Verifica el ejemplo con DynamicColorIOS mientras haces scroll sobre contenido claro y oscuro; se considera terminado cuando el tinte activo cambia igual que el tinte inactivo en iOS 26.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Before submitting a new issue
- I tested using the latest version of the library, as the bug might be already fixed.
- I tested using a supported version of react native.
- I checked for possible duplicate issues, with possible answers.
Bug summary
On iOS 26, the liquid glass tab bar automatically changes colors of the icons/labels based on the content underneath. However, for this to work, we need to specify a dynamic color (DynamicColorIOS) with a light and dark variant (since there's no callback that is called when the colors need to change). When using react-native-bottom-tabs, dynamic colors work for the inactive tint color, but not for the active tint color, which behaves like a static color - it does not change color based on the content.
Here's the video illustrating this (notice how the inactive tint color changes based on content while the active tint color remains unchanged):
https://github.com/user-attachments/assets/1e9d4cf1-ce52-46ab-a927-b3a68cdd03de
Library version
0.11.2
Environment info
expo-env-info 2.0.7 environment info:
System:
OS: macOS 15.7
Shell: 5.9 - /bin/zsh
Binaries:
Node: 22.17.1 - ~/.nvm/versions/node/v22.17.1/bin/node
Yarn: 4.9.3 - ~/.nvm/versions/node/v22.17.1/bin/yarn
npm: 10.9.2 - ~/.nvm/versions/node/v22.17.1/bin/npm
Watchman: 2024.10.14.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.16.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 25.0, iOS 26.0, macOS 26.0, tvOS 26.0, visionOS 26.0, watchOS 26.0
IDEs:
Android Studio: 2025.1 AI-251.26094.121.2512.13840223
Xcode: 26.0/17A324 - /usr/bin/xcodebuild
npmPackages:
expo: ~54.0.7 => 54.0.7
expo-router: ~6.0.4 => 6.0.4
react: 19.1.0 => 19.1.0
react-dom: 19.1.0 => 19.1.0
react-native: 0.81.4 => 0.81.4
react-native-web: ~0.21.0 => 0.21.1
Expo Workflow: managed
Steps to reproduce
- Clone the repo.
- Run
yarnto install dependencies. - Run prebuild for iOS:
yarn expo prebuild --platform ios. - Build and run the iOS app:
yarn ios.
Reproducible sample code
const tabBarActiveTintColor = DynamicColorIOS({
light: "blue",
dark: "lightblue",
});
const tabBarInactiveTintColor = DynamicColorIOS({
light: "black",
dark: "white",
});
export default function RootLayout() {
const colorScheme = useColorScheme();
return (
<ThemeProvider value={colorScheme === "dark" ? DarkTheme : DefaultTheme}>
<Tabs
tabBarActiveTintColor={tabBarActiveTintColor}
tabBarInactiveTintColor={tabBarInactiveTintColor}
>
<Tabs.Screen
name="index"
options={{
title: "Home",
tabBarIcon: () => ({ sfSymbol: "house.fill" }),
}}
/>
<Tabs.Screen
name="explore"
options={{
title: "Explore",
tabBarIcon: () => ({ sfSymbol: "person.fill" }),
}}
/>
</Tabs>
<StatusBar style="auto" />
</ThemeProvider>
);
}
- Lenguaje dominante
- TypeScript
- Estrellas
- 1.5k
- Forks
- 108
- Merge medio
- 22 h 36 min
- PR fusionados (30 d)
- 10
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de callstack/react-native-bottom-tabs
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
callstack/react-native-bottom-tabs#591 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 58/100
Todos los issues de callstack/react-native-bottom-tabs
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
mksglu/context-mode#1200 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
jaegertracing/jaeger-ui#4506 ·
-
area:desktop area:ui bug platform:macos
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
anthropics/claude-code#96687 ·
-
good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
AOSSIE-Org/DebateAI#582 · 2 comentarios ·