728x90
목표
- 각각의 탭을 클릭했을 때 나오는 content가
scrollview
이면서 그scrollview
의position
이absolute
이고,zIndex
로 해당scrollview
를 보여주고 숨기고를 구현하고 싶었다.
실패
- 여느 view를 구현하듯이
scrollview
에도position: 'absolute'
를 적용했더니, 끝까지 스크롤되지 않았다. 구글링을 많이 해봤지만 통하지 않았다.
해결법
position: 'relative'
. 즉position
은 건들지 않고,flex
만 건들면 되는 문제였다.height
도 설정해줘야 한다. 그렇지 않으면 완전히 겹쳐지지 않는다. 나같은 경우는 1000으로 설정했지만, 실제로 1000까지 스크롤되지는 않는다.
코드
<View>
{/* S1 *}
<ScrollView contentContainerStyle={{ flex: 0, height: 1000 }}>
{...content}
</ScrollView>
{/* S2 *}
<ScrollView contentContainerStyle={{ flex: 1, , height: 1000 }}>
{...content}
</ScrollView>
</View>
- 주의할 점: 이렇게 하면 S2가 보인다고 생각하겠지만, 실제로는 S1이 보인다. 왜그런지는 모르겠지만... 아무튼 이 코드를 참고하면
absolute
를 쓰지 않고flex
만으로도 원하는 기능을 구현할 수 있다.