3-1.방이 1개든 1,000개든, (리스트뷰 크기) 영역을 벗어날 만큼
데이터가 많아지면 알아서 오른쪽에 스크롤바가 생기고 드래그가 가능함.
3-2.”늘어난다” 는 표현보다는 "창문은 그대로 있고 내용물이 움직인다"가 정확함.
지정된 영역만큼 크기는 고정되어 있고, 그 안에서 내용들만 위아래로 이동하는 방식
UListView를 쓴 건 UI 가상화(UI Virtualization) 때문도 있음.
일반 위젯 (ScrollBox + VerticalBox):
방이 1,000개면, 눈에 안 보이는 방까지 위젯을 1,000개 다 생성해서 메모리에 올림.
→ 렉 걸림.
리스트 뷰 (ListView):
방이 1,000개여도, 화면에 딱 5개만 보인다면
위젯을 5~6개만 만들어서 돌려막기(재활용) 함.
◦ 스크롤 내리면 위에 있던 위젯 내용을 지우고 아래쪽 데이터로 갈아 끼워서 보여줌.
◦ 그래서 방이 100만 개가 되어도 렉이 안 걸림.
5-1. Entry Widget Class 설정: SessionListView를 클릭하고 디테일 패널에서
List Entry Widget Class 설정 지정 필요.
WBP_RoomListEntryWidget (한 줄짜리 UI) 을 넣어줘야함.
그래야 리스트뷰가 "아, 이 데이터를 보여줄 때 이 디자인을 쓰면 되는구나" 하고 그려줌.
5-2. 크기 제한 (Size):
ListView는 "내가 어디까지 보여줄지" 영역이 확실해야 스크롤바를 띄움.
만약 Size To Content(내용에 맞춰 크기 조절) 같은 걸로 감싸버리면,
리스트뷰가 무한히 늘어나버려서 스크롤바가 안 생길 수 있음.
→ 특정 구역 고정된 크기를 주거나,
앵커(Anchors)를 이용해서 화면에 꽉 차게 잡아주는 게 좋음.