[iOS] The caret goes under the keyboard in multiline TextInput after the ScrollView auto-scrolls to the caret
Personne n'a encore pris cette issue.
- Langage dominant
- C++
- Étoiles
- 127k
- Forks
- 25.3k
- Merge moyen
- 1 j 23 h
- PR mergées (30 j)
- 4
Description
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
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par exécuter le reproducteur Snack lié sur iOS et retracez l'interaction entre automaticallyAdjustKeyboardInsets de ScrollView et le TextInput multiligne. Comparez la visibilité du curseur avant et après la saisie d'une nouvelle ligne ; c'est terminé lorsque le curseur reste au-dessus du clavier et que le texte visible suit le curseur à mesure que le champ se remplit.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- ios, react-native
- Domaine
- mobile
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100