nhn / gpm.unity

A brand of NHN providing free services required for game development.

Home Page:https://gameplatform.nhncloud.com/en/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

인피니티 스크롤 오브젝트 추가 위치 설정

jihoon130 opened this issue · comments

Service

  • WebView
  • AssetManagement
  • Communicator
  • LogViewer
  • Manager
  • UI
  • Profiler
  • Adapter
  • DLST

Version

2022.3.10f1

Summary

현재 인피니티 스크롤을 사용하여 InsertData를 할 시 오브젝트가 위에서부터 생성되는데 이걸 아래에서부터 생성되게 하려면 어떻게 해야할까요?

Screenshots

If applicable, add screenshots to help explain your question.

Additional context

Add any other context about the problem here.

@jihoon130

안녕하세요.
현재 버전에는 Insert시 위에서 부터 만 생성할 수 있습니다.

아래 링크를 참고하셔서 v2.7.4를 설치하시면
InsertData(data, 0); 으로 역순으로 생성할 수 있습니다.

#438 (comment)

감사합니다.

빠른 답변 감사드립니다. 제가 필요한 기능이 역순 기능은 아니여서요. 현재 InsertData를하면 포지션 y가 대략 obj1 : 0f -> obj2 : 80f -> obj3 :160f 설정 되는데

첫번째 obj 추가시
160f에 생성되고

두번쨰 obj 추가시
obj1.y = 80f
obj2.y = 160f

세번째 obj 추가시
obj1.y = 0f;
obj2.y = 80f;
obj3.y = 160f;

이렇게 되게 하고 싶어서요.

설명이 안좋은 점 죄송스럽게 생각합니다 ㅜㅜ..

@jihoon130

안녕하세요.

아래 그림과 같이 스크롤 축이 바뀌는것을 원하시는것 맞는지 확인 부탁드립니다.

image

맞다면 기능 추가가 필요해보입니다.

어떤 용도로 사용되는지도 알려주시면 감사드립니다.

내부 논의 후 일정 및 우선순위에 따라 작업할 예정입니다.
감사합니다.

image

답변 감사드립니다.

위 사진과 같은 기능이며 이는 scroll rect의 Contnets 오브젝트의 Pivot.Y값을 0으로 한 결과와 동일합니다.

카카오톡같은 채팅 기능을 제작하려고 합니다.

이틀정도 머리싸메서 했더니 해결됐네요. 답변 해주신거에 대해서 감사드립니다.

이틀정도 머리싸메서 했더니 해결됐네요. 답변 해주신거에 대해서 감사드립니다.

같은 기능을 원하는데, 혹시 어떻게 수정하셨는지 공유 가능하실까요?

음 프로젝트가 급하여 대충 처리해둔거여서요 리스트 0번째에 spacer 오브젝트를 하나두고 그 다음에 들어오는 오브젝트의 크기를 스페이서 오브젝트의 크기에서 제외하여 마치 아래에서 올라오는거처럼 수정하였습니다.

음 프로젝트가 급하여 대충 처리해둔거여서요 리스트 0번째에 spacer 오브젝트를 하나두고 그 다음에 들어오는 오브젝트의 크기를 스페이서 오브젝트의 크기에서 제외하여 마치 아래에서 올라오는거처럼 수정하였습니다.

친절한 답변 감사합니다. 그런데 궁금한게 몇가지 더있는데요..
첫번째 비어있는 오브젝트를 insertData() 하고, 말씀하셨던 오브젝트 크기를 스페이서 오브젝트 크기에서 제외하는 코드는 어디에 들어가야할까요?ㅠ
그리고 만약 이렇게 처리했다고 하면, 첫번째 비어있는 오브젝트의 크기 때문에, 다음에 오브젝트가 들어왔을 때 스크롤바가 생성되지 않나요? (스크롤바가 필요한 상황입니다)

첫째로 스페이서 오브젝트의 크기를 scroll rect의 높이만큼 설정하면 스크롤바가 생기지 않을겁니다.
만약 scroll rect의 height가 820이라면 처음 스페이서의 크기도 820이겠죠.

Infinity Scroll 컴퍼넌트를 가지고 있는 Popup cs가 있을거고 제외하는 코드는 뭐 직접 넣으셔도 되겠지만 아마 저 안에 다이나믹 아이템 사이즈라는 개념이 있고 아이템의 크기가 변동되면 호출되는 액션 함수가 있을겁니다. 그것을 통해서 뭐 변할때마다 반복문을 돌려서 아이템의 크기들을 반영해도 될겁니다.

정 스크롤바가 계속 보인다 싶으시면 height - defaultItemsize를 하셔도 될거같아요! 자세한 내용은 몰라서 제가 이해한대로만 설명 해드렸습니다.

제일 좋은 방법은 위처럼 Pivot.Y값을 0을 하고 변경 시점을 역순으로 계산하면 좋을거 같은데 저희 팀은 프로젝트 속도가 급하고 다른 일도 병행할게 많아서 저는 고려하지 못했습니다.

@jihoon130 @tlghks1009
기준점을 변경할 수 있도록 2.9.0에 기능 추가하여 배포하였습니다.

릴리즈 노트