6.3.4 KeyboardAvoidingView로 화면 감싸기

    내용 TextInput에서 Enter를 여러 번 눌러서 화면에서 기본적으로 보여줄 수 있는 줄 수를 초과할 경우, 안드로이드에서는 별 문제없이 스크롤할 수 있지만 iOS에서는 하단 내용이 잘리게 됩니다. 따라서 KeyboardAvoidingViewWriteScreen 내부의 내용을 감싸줘야 작성한 내용이 엄청 길어져 줄이 많아졌을 때도 문제없이 글을 작성할 수 있습니다.

    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 WriteScreen() {
      return (
        <SafeAreaView style={styles.block}>
          <KeyboardAvoidingView
            style={styles.avoidingView}
            behavior={Platform.OS === 'ios' ? 'padding' : undefined}>
            <WriteHeader />
            <WriteEditor />
          </KeyboardAvoidingView>
        </SafeAreaView>
      );
    }
    const styles = StyleSheet.create({
      block: {
        flex: 1,
        backgroundColor: 'white',
      },
      avoidingView: {
        flex: 1,
      },
    });
    
    (...)
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.