공간을 많이 차지하는 콘텐츠를 작은 영역에 표시해야 할 때 스크롤 사각 영역을 활용할 수 있습니다. 스크롤 사각 영역(Scroll Rect)은 콘텐츠를 스크롤하는 기능을 제공합니다.
일반적으로 스크롤 사각 영역은 마스크와 함께 사용하여 스크롤 사각 영역 중 유일하게 스크롤 가능한 콘텐츠가 보이는 스크롤 뷰를 생성합니다. 여기에 한두 개의 스크롤바를 추가하여 수직 혹은 수평으로 드래그하게 할 수도 있습니다.
프로퍼티: | 기능: |
---|---|
Content | 커다란 이미지와 같은, 스크롤될 UI 요소의 사각 트랜스폼에 대한 참조입니다. |
Horizontal | 수평 스크롤링을 활성화합니다. |
Vertical | 수직 스크롤링을 활성화합니다. |
Movement Type | 제한 없음, 탄성 있음 또는 위치 한정. 탄성 있음이나 위치 한정 옵션을 사용하면 콘텐츠가 스크롤 사각 영역 범위 내에 머물게 됩니다. 탄성 있음 모드를 사용하면 콘텐츠가 스크롤 사각 영역 가장자리에 닿으면 튕기게 됩니다. |
Elasticity | 탄성 있음 모드에서 사용할 탄성 정도입니다. |
Inertia | 관성이 설정되면 드래그 후 포인터를 떼더라도 콘텐츠가 계속 움직이게 됩니다. 이를 사용하지 않은 경우, 드래그해야만 콘텐츠가 움직이게 됩니다. |
Deceleration Rate | 관성이 설정되면 감속률은 콘텐츠가 얼마나 빠르게 정지하는지 결정합니다. 이 값이 0이면 바로 멈추게 됩니다. 값이 1인 경우 콘텐츠는 느려지지 않고 계속 움직이게 됩니다. |
Scroll Sensitivity | 스크롤 휠과 트랙 패드 스크롤 이벤트 민감도입니다. |
Viewport | 콘텐츠 사각 트랜스폼의 부모인 뷰포트 사각 변환에 대한 참조입니다. |
Horizontal Scrollbar | 수평 스크롤바 요소에 대한 선택 참조입니다. |
Visibility | 스크롤바를 사용하지 않는 경우 자동으로 숨길지, 선택적으로 뷰포트도 확장할지 결정합니다. |
Spacing | 스크롤바와 뷰포트 간 공간입니다. |
Vertical Scrollbar | 수직 스크롤바 요소에 대한 선택 참조입니다. |
Visibility | 스크롤바를 사용하지 않는 경우 자동으로 숨길지, 선택적으로 뷰포트도 확장할지 결정합니다. |
Spacing | 스크롤바와 뷰포트 간 공간입니다. |
프로퍼티: | 기능: |
---|---|
On Value Changed | 스크롤 사각 영역의 스크롤 포지션이 변경되면 호출되는 Unity 이벤트입니다. 이벤트는 현재 스크롤 포지션을 Vector2 타입 동적 인수로 보낼 수 있습니다. |
스크롤뷰에서 중요한 요소는 뷰포트, 스크롤되는 콘텐츠, 그리고 선택적인 한두 개의 스크롤바입니다.
아래 이미지는 뷰포트가 스크롤 뷰 루트의 자식인 경우의 설정을 보여줍니다. 이는 GameObject > UI > Scroll View 메뉴 옵션을 사용하는 경우 사용되는 기본값입니다.
콘텐츠를 스크롤하려면, 입력값은 콘텐츠 자체가 아닌 스크롤 사각 영역 범위 내에서 받아야 합니다.
제한 없음(Unrestricted) 스크롤을 사용하는 경우, 콘텐츠에 대한 제어를 잃을 수도 있다는 점을 주의해야 합니다. 탄성 있음(Elastic)이나 위치 한정(Clamped) 움직임을 사용하는 경우는 콘텐츠를 사각 영역 범위 내에서 시작하도록 콘텐츠를 위치시켜야 합니다. 그렇지 않은 경우, RectTransform이 콘텐츠를 그것의 범위 내로 가져오는 원치 않는 동작을 일으킬 수 있습니다.
스크롤 사각 영역은 선택적으로 수평 또는 수직 스크롤바와 연결할 수도 있습니다. 이는 일반적으로 계층 구조에 뷰포트 자식으로서 배치되며, 스크롤바가 존재하는 경우 스크롤 사각 영역의 수평 스크롤바와 수직 스크롤바 프로퍼티에 각각 드래그되어야 합니다. 이 경우 수평 스크롤바의 Direction 프로퍼티는 Left To Right로, 수직 스크롤바는 Bottom To Top로 설정되어야 합니다.
컨텐츠가 뷰포트보다 크지 않아 스크롤이 필요 없을 때 스크롤바가 자동 숨김 기능으로 스크롤바를 숨길 수 있도록 선택할 수 있습니다. 자동 숨김 동작은 플레이 모드에서만 나타납니다. 수정 모드에서는 스크롤바가 항상 표시됩니다. 이는 씬이 변경된 것으로 표시되어서는 안될 때 그것을 방지하는 역할을 하며, 이를 활용하면 스크롤바가 나타난 경우에도 빈 공간에 콘텐츠를 작성할 수 있습니다.
한 개 또는 두 개 스크롤바의 가시성 동작이 자동 숨김 및 뷰 확장으로 설정된 경우, 뷰포트는 스크롤바가 숨겨졌을 때 자동으로 확장되어, 스크롤바가 있어야 할 공간을 차지합니다. 이 설정에서는 뷰의 포지션과 크기는 스크롤 사각 영역과 같게 되며, 수평 스크롤바의 너비와 수직 스크롤바의 높이 역시 동일하게 됩니다. 이 설정을 사용하려면 뷰포트와 스크롤바는 스크롤 사각 영역 루트 게임 오브젝트의 자식이어야 합니다.