[iOS] The caret goes under the keyboard in multiline TextInput after the ScrollView auto-scrolls to the caret
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
On iOS, when using a multiline TextInput inside a ScrollView with automaticallyAdjustKeyboardInsets, the caret goes under the keyboard after adding a new line in the input.
Steps to reproduce
<ScrollView automaticallyAdjustKeyboardInsets>
// Any content above the TextInput to position it at the bottom of the screen
<TextInput multiline style={{ height: 100 }} /> // multiline TextInput with some fixed height
</ScrollView>
ScrollViewwithautomaticallyAdjustKeyboardInsets(with enough content to fill the whole screen).- Multiline
TextInputwith fixed height (let's say 100). - Focus on the input when it’s positioned at the bottom of the screen.
- Let the keyboard slide up and the
ScrollViewscroll to the caret. - Type more than 1 line in the
TextInput. - The
TextInputcaret goes under the keyboard - Once the TextInput fills the available height, it starts scrolling, but the user only sees the first line of the input
React Native Version
0.79.5
Affected Platforms
Runtime - iOS
Output of npx @react-native-community/cli info
This is not relevant
Stacktrace or Logs
This is not relevant
MANDATORY Reproducer
https://snack.expo.dev/@serge0n/textinput-multiline-autoscroll-on-new-line?platform=ios
Screenshots and Videos
https://github.com/user-attachments/assets/954d5545-3d89-4ef2-91d8-15214b4fffbe
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 ejecutando el reproductor Snack vinculado en iOS y rastrea la interacción entre automaticallyAdjustKeyboardInsets de ScrollView y el TextInput multilinea. Compara la visibilidad del cursor antes y después de introducir una nueva línea; se considera terminado cuando el cursor permanece por encima del teclado y el texto visible sigue al cursor a medida que se llena la entrada.
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
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100