StackOverFlow
https://stackoverflow.com/questions/30766020/how-to-scroll-to-a-specific-element-in-scrollrect-with-unity-ui
유니티로 개발하다보면 ScrollView로 인벤토리나 퀘스트 등의 리스트를 만들 일이 많이 생긴다.
그런데 특정 아이템의 위치로 스냅을 시키는 것은 꽤나 구현하기 껄끄럽다.
private List<RectTransform> items;
private RectTransform contentTrans;
private void FocusOneItem(int slotNum)
{
RectTransform target = items[slotNum];
Vector2 point = (Vector2)scrollView.transform.InverseTransformPoint(contentTrans.position)
- (Vector2)scrollView.transform.InverseTransformPoint(target.position)
- new Vector2(0f, target.sizeDelta.y / 2f);
point.x = 0f;
contentTrans.anchoredPosition = point;
}
위와 같은 형태로,
앵커의 위치에 맞게 코드는 조심씩 수정해줘야한다.
'🌍 Unity > UI & TMP' 카테고리의 다른 글
Unity UIToolkit 연구 1 : 기본 사용법 (0) | 2023.01.09 |
---|---|
DOTweenTMPAnimator, You can't add a NULL tween to a Sequence (0) | 2021.10.07 |
TextMeshPro Sprite Asset (1) | 2020.07.06 |
DOText에서 \n가 엔터로 처리되지 않을 때 (0) | 2020.06.13 |
DoText사용 시 RichText의 Length 문제. (0) | 2020.05.21 |