[React Native] 키보드 입력시 입력창 가리지 않게 하기

kjh1551·2020년 8월 13일
0

React Native

목록 보기
2/4
post-thumbnail

( 원래는 로고가 큰데, 입력창을 터치하니 로고가 줄어들며 입력창이 보여지는 모습)

텍스트를 입력해야하는데, 키보드가 입력창을 가려버려서 안보이는 상황이 종종 있다.
이때, 입력창을 가리지 않게 주변 유닛들의 크기를 자동으로 조절하는 코드가 있다.

KeyboardAvoidingView

<KeyboardAvoidingView style={styles.form} behavior="padding" enabled>
	<Image 로고 사진 />
    	<TextInput 아이디 />
    	<TextInput 비밀번호 />
</KeyboardAvoidngView>

사용법은 기존에 감싸주었던 View 대신에 삽입해주면 되며,
저 태그안에 들어가 있는 요소들이 크기 조절이 된다.

만약에,
나는 사진은 크기는 고정시키고 입력창의 크기를 조절시키고 싶다면
해당 태그 내에 Image 를 바깥으로 빼버리면 된다.

간단한건데 은근 내맘대로 동작 안할때가 있으니 하나씩 테스트 해보며 적용하길 !

2개의 댓글

comment-user-thumbnail
2020년 8월 14일

저럴 때는 로고 이미지를 줄이는 것보단 iscroll 같은 라이브러리를 사용하셔서 포커스일때 스크롤로 이동하시거나 해당 wrapper를 상단(스크린 안 보이는 곳)으로 올려버리는게 일반적인 해결법입니다. iOS에는 가상키보드 사용시 자동포커스 기능이 있으나 안드로이드는 그렇지 않아 해줘야 합니다.

1개의 답글