На iOS это было довольно легко с помощью useAnimatedKeyboard реакции-native-reanimated, выполняющего следующее:
Код: Выделить всё
const keyboard = useAnimatedKeyboard()
const bottomStyle = useAnimatedStyle(() => ({
paddingBottom: keyboard.height.value,
}))
Когда я отключил это, я заметил, что представление фиксируется на мгновение подошел к клавиатуре, а затем снова вернулся к нижней части экрана, когда клавиатура открылась в первый раз. На любом другом экране и в любой другой раз, когда я делал это снова, не закрывая приложение, оно вело себя нормально (все время оставалось в нижней части экрана, не сдвигаясь вверх). Это была проблема, потому что если бы я использовал прослушиватель событий клавиатуры для отслеживания события KeyboardDidOpen, чтобы получить высоту клавиатуры, и использовал его в качестве дополнения к представлению, это правильно расположило бы представление над клавиатурой, но на при первом открытии клавиатуры это привело бы к тому, что мой вид на мгновение появился бы на всю высоту клавиатуры над клавиатурой, прежде чем вернуться обратно.
Подробнее здесь: https://stackoverflow.com/questions/763 ... bottom-ali