개발일기
240705_TIL 본문
1. ios에서는 <Text>에서 border radius가 적용되지 않는데 이를 해결하기 위해서는 overflow: “hidden”을 추가로 적용해주면 된다
https://eloquence-developers.tistory.com/147
[React Native] iOS borderRadius 적용되지 않는 이슈
오늘 ios 작업을 하던 도중 ios에서 borderRadius 속성이 먹지 않는 이슈가 있었습니다. 해당 사항이 안드로이드에서는 잘 적용이 되었는데 ios에서는 적용이 되지 않더군요 구글링을 해보니 아래 문
eloquence-developers.tistory.com
2. react-native-swiper 라이브러리를 사용하는데 다른 페이지를 갔다가 해당 라이브러리를 사용하는 페이지로 돌아올 경우 슬라이드가 잘려서 보여진다. 아마 마진을 넣어서 그런것 같다(마진이 없다면 정상작동한다)
https://github.com/leecade/react-native-swiper/issues/1175
image shift by about 1 cm when swiping left or right and shift increase the more we swipe · Issue #1175 · leecade/react-native
Which OS ? Mac OS 10.15.2 iOS: 13.3.1 Version Which versions are you using: react-native-swiper v? 1.6.0 react-native v0.?.? 0.61.5 Expected behaviour If we start with image at position 0, then we ...
github.com
다른 경우지만 이걸 보고 참고해서 loadMinimal={true}를 <Swiper>에 추가했더니 해결되었다.
(loadMinimal는 현재 인덱스의 슬라이드만 로드 시켜주는 거라고 하는데 정확히 어떤 기능인지 파악이 안됨)
그런데 안드로이드에서는 이걸 적용시켰더니 첫 이미지가 로드되었다가 보인다.
잘리는 것 보다 낫긴한데 깜박거리는 현상이 발생한거라 깔끔하진 않다.
3. Input 창 입력시 키보드가 생성되면 하단 버튼이 키보드에 가려져서 입력 후에 키보드를 내리고 다음 버튼을 눌러야했다. 터치를 2번 해야하는 작업. 그래서 키보드가 올라올 때 버튼이 키보드 위로 올라오도록 만들었다.
1) 먼저 컨텐츠와 버튼을 위아래로 띄우는(justifyContent: 'space-between’가 있는) container영역이 원래는 View 였는데, 이걸 <KeyboardAvoidingView>로 변경했다.
(KeyboardAvoidingView : 키보드가 나타날 때 패딩 등을 설정할 수 있는 View)
2-1) 그리고 속성으로 두가지를 추가해줬는데, behvior과 keyboardVerticalOffset이다.
behavior={'padding'}
behavior의 속성값으로 pading패딩과 하이트는 비슷한데 이전에 하이트를 사용하면서 스크롤 뷰를 동시에 사용할때 키보드가 덜덜거리는 버그가 있어서 패딩을 사용하고자 했다. 그런데 패딩을 사용할 경우 KeyboardAvoidingView의 스타일에 적용했던 paddingBottom이 적용되지 않았다. 그래서 버튼컴포넌트에 따로 마진바텀을 줘서 버튼아래에 간격을 만들었다.
2-2)
keyboardVerticalOffset={Platform.OS === 'android' ? 20 : 0}
그런데 안드로이드는 버튼에 마진을 줘도 키보드를 생성하면 항상 키보드에 버튼이 딱 달라붙어있다. 그래서 위와 같이 키보드와 뷰사이의 간격을 줘야한다. 그런데 이 경우 키보드를 다시 내리면 설정한 간격만큼 버튼이 하단에 띄워져있다.
4. 인증번호 6자리 클릭 시 키보드 내려가도록
const cert = String(watch('cert')).length === 6;
useEffect(() => {
if (cert) {
Keyboard.dismiss();
}
}, [cert]);
<PrimaryButton callback={handleSubmit(onConfirmCert)} disabled={!cert} />
'TIL' 카테고리의 다른 글
240809_TIL (0) | 2024.08.12 |
---|---|
240712_TIL : AG Grid의 domLayout (0) | 2024.07.16 |
240520_TIL : chakra ui의 useCheckboxGroup (0) | 2024.05.21 |
240514_TIL : 파일 다운로드 구현 (0) | 2024.05.15 |
240507_TIL (2) | 2024.05.08 |