useEffect(() => { // 모달이 열릴 때마다 TextInput에 focus를 준다.
if (modalVisible) {
setTimeout(() => {
textInputFocusRef.current?. focus();
}, 100); // 약간의 시간차가 있어야 TextInput에 focus가 먹힌다.
}}, [modalVisible]);
# 안드로이드 기기에서 모달창이 바깥인 경우 잘 보이지 않는 현상이 있다
// 그럴 때는 모달창 밖으로 <KeyboardAvoidingView>를 위치하면 된다.\
예)
if (Platform.OS === "ios") { // ios는 그대로
return (
<Modal animationType="fade" transparent={true} visible={modalVisible}>
<KeyboardAvoidingView
behavior={Platform.OS === "ios"? "padding" : "height"}
style={{ flex: 1 }} >
<Content
textInputFocusRef={textInputFocusRef}
albumTitle={albumTitle}
setAlbumTitle={setAlbumTitle}
onSubmitEditing={onSubmitEditing}
onPressBackdrop={onPressBackdrop}
/>
</KeyboardAvoidingView>
</Modal>
);
} else if (Platform.OS==='android'){
return (
<KeyboardAvoidingView
behavior={Platform.OS === "ios"? "padding" : "height"}
style={{}}>
<Modal animationType="fade" transparent={true} visible={modalVisible}>
<Content
textInputFocusRef={textInputFocusRef}
albumTitle={albumTitle}
setAlbumTitle={setAlbumTitle}
onSubmitEditing={onSubmitEditing}
onPressBackdrop={onPressBackdrop}
/>
</Modal>
</KeyboardAvoidingView>
);
'Development > ReactNative' 카테고리의 다른 글
[study] reactNative 이미지 uri 가 undefiend... (0) | 2024.02.02 |
---|---|
[study] reactNative fontAwsome 사용법 (0) | 2024.02.02 |
[study] 구조분해 (0) | 2024.02.02 |
[study] Style || 내비게이션 || 리덕스 (0) | 2024.02.02 |
[study] mac 환경 세팅 중 만났던 에러 해결 (0) | 2024.01.22 |