2017-10-07 1 views
0

I는 gameobject1 (추가 Scroll Rect 성분)이 있으며 또 내부 gameobject2합니다 (Scroll rect 성분의 콘텐츠) 국지적 Movement Type는 .IN gameobject2 이미지의 이미지에 적용 수가 10, 20 ... (상관 숫자) 일 수있다 갖는다 Elastic. 알다시피, gameobject2높이의 길이가까지만 스크롤을 멈 춥니 다. 역동적 인 숫자의 길이를 줄이는 방법. gameobject2에서 이미지의 수는 다를 수 있습니다. 검색 결과에 따라 다릅니다. 결과는 5,8, 또는 200 일 수 있습니다. 그래서 검색 결과의 마지막까지 스크롤해야합니다. 정확히 어떻게 길이가 Scroll rect 구성 요소에서 스크롤을 멈추는가?Scroll Rect를 동적으로 멈추게 만드는 방법은 무엇입니까?

답변

0

ContentSizeFitter 구성 요소를 사용할 수 있습니다. 이름이 "Content"인 GameObject는 "ScrollView"-gameObject의 scrollRect 구성 요소에 대한 내용입니다. 동적 스크롤 목록을 구축 할 때

0

RectTransform#SetSizeWithCurrentAnchors

Image

Scroll rect's content

나는이 많이 사용합니다. 원하는 모든 항목을 추가 한 후 (각 크기가 알려진 크기이고 그 크기를 사용하여 위치가 지정됨) contentRectTransform을 새 크기 (개체의 총 크기 * 개체 크기)로 업데이트합니다.

int i = 0; 
//for each item in a list of skills... 
IEnumerator<Skill> list = SkillList.getSkillList(); 
Transform skillListParent = GuiManager.instance.skillPanel.transform; 
while(list.MoveNext()) { 
    Skill sk = list.Current; 
    //create a prefab clone... 
    GameObject go = Main.Instantiate(PrefabManager.instance.SKILL_LISTITEM, skillListParent) as GameObject; 
    //set its position... 
    go.transform.localPosition = new Vector3(5, i * -110 -5, 5); 
    //add a button event or other data (some lines omitted)... 
    Transform t1 = go.transform.FindChild("BuyOne"); 
    t1.GetComponent<Button>().onClick.AddListener(delegate { 
     doBuySkill(sk); 
    }); 
    t1.GetChild(0).GetComponent<Text>().text = Main.AsCurrency(sk.getCost(1)) + " pts"; 
    //track how many... 
    i++; 
} 
//update rect transform 
((RectTransform)skillListParent).SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, (i * 110 + 10)); 
: 예를 들어

,이 코드가

관련 문제