Liquid Glass header shadows incorrectly invert when FlatList has inverted={true} on iOS 26
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- C++
- Estrellas
- 127k
- Forks
- 25.3k
- Merge medio
- 1 d 23 h
- PR fusionados (30 d)
- 4
Descripción
Description
Expected Behavior
When using inverted={true} FlatList, the header shadow/blur should maintain its normal appearance with proper content darkening underneath the transparent header.
Actual Behavior
Liquid Glass interface automatically detects the FlatList inversion and incorrectly inverts the header blur gradient. This causes:
- All visible content under the header becomes properly darkened (incorrect)
- All content that should be darkened under the header remains fully transparent (incorrect)
The shadow/blur gradient is effectively inverted, creating the opposite visual effect.
migrated from https://github.com/software-mansion/react-native-screens/issues/3293
Steps to reproduce
- Setting up
headerTransparent: trueif using Navigation OR add native elements to ViewController (Searchbar etc.) - Add a FlatList with inverted={true} OR apply transform: [{ scaleY: -1 }]
- Scroll the list and observe the header shadow behavior
- Compare with a non-inverted FlatList
React Native Version
0.81.4
Affected Platforms
Runtime - iOS
Output of npx @react-native-community/cli info
System:
OS: macOS 26.0.1
CPU: (11) arm64 Apple M3 Pro
Memory: 184.17 MB / 18.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 22.14.0
path: /Users/vasgen/.nvm/versions/node/v22.14.0/bin/node
Yarn:
version: 3.6.1
path: /Users/vasgen/.nvm/versions/node/v22.14.0/bin/yarn
npm:
version: 10.9.2
path: /Users/vasgen/.nvm/versions/node/v22.14.0/bin/npm
Watchman:
version: 2025.03.03.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.16.2
path: /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
Android SDK:
API Levels:
- "34"
Build Tools:
- 29.0.2
- 32.0.0
- 34.0.0
System Images:
- android-34 | Google Play ARM 64 v8a
Android NDK: Not Found
IDEs:
Android Studio: 2024.2 AI-242.23339.11.2421.12483815
Xcode:
version: 26.0.1/17A400
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.14
path: /usr/bin/javac
Ruby:
version: 2.6.10
path: /usr/bin/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 19.1.0
wanted: 19.1.0
react-native:
installed: 0.81.4
wanted: 0.81.4
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: Not found
newArchEnabled: Not found
iOS:
hermesEnabled: Not found
newArchEnabled: Not found
Stacktrace or Logs
-
MANDATORY Reproducer
Screenshots and Videos
Example of behavior
ViewController setting up
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.
Línea de trabajo
Comienza con el reproductor obligatorio de Snack y compara el comportamiento del header en casos de FlatList invertidos y no invertidos en iOS. Usa las configuraciones de headerTransparent y ViewController, incluido el caso scaleY: -1, como puntos de entrada para la investigación. Se considera terminado cuando el header transparente conserva la sombra normal y el degradado de desenfoque, y el contenido debajo se oscurece correctamente.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- ios, react-native
- Área
- mobile
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 48/100