6.3.4 KeyboardAvoidingView로 화면 감싸기
내용 TextInput에서 Enter를 여러 번 눌러서 화면에서 기본적으로 보여줄 수 있는 줄 수를 초과할 경우, 안드로이드에서는 별 문제없이 스크롤할 수 있지만 iOS에서는 하단 내용이 잘리게 됩니다. 따라서 KeyboardAvoidingView로 WriteScreen 내부의 내용을 감싸줘야 작성한 내용이 엄청 길어져 줄이 많아졌을 때도 문제없이 글을 작성할 수 있습니다.
screens/WriteScreen.js
import React from 'react'; import {KeyboardAvoidingView, Platform, StyleSheet} from 'react-native'; import {SafeAreaView} from 'react-native-safe-area-context'; import WriteEditor from '../components/WriteEditor'; import WriteHeader from '../components/WriteHeader'; function () { return ( <SafeAreaView style={styles.block}> <KeyboardAvoidingView style={styles.avoidingView} behavior={Platform.OS === 'ios' ? 'padding' : undefined}> <WriteHeader /> <WriteEditor /> </KeyboardAvoidingView> </SafeAreaView> ); } const styles StyleSheet. ({ block: { flex: 1, backgroundColor: 'white', }, avoidingView: { flex: 1, }, }); ( )