ScrollView 2

¸®½ºÆ®¸¦ ¼öÁ÷À¸·Î ½ºÅ©·Ñ ÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ­ ¾Ë¾Æº¸ÀÚ.
¾Æ·¡¿Í °°ÀÌ À̹ÌÁö¿Í ÅؽºÆ®¸¦ ¹èÄ¡ÈÄ ½ºÅ©·Ñ ÇÑ´Ù.

½ÇÇàÈ­¸é

°èÃþºä



1. Canvas¸¦ ¸¸µç´Ù
UI > Canvas·Î Á¦ÀÛÇÑ´Ù.

2. ScrollView¸¦ ¸¸µç´Ù.

  • UI > PanelÀ» ¸¸µç´Ù
  • PanelÀ̸§À» ScrollView·Î ¼öÁ¤ÇÑ´Ù
  • ScrollRect, Mask ÄÄÆ÷³ÍÆ®¸¦ Ãß°¡ÇÑ´Ù
  • Width, Height¸¦ 256, 500À¸·Î ¼³Á¤ÇÑ´Ù
  • À§,¾Æ·¡·Î ½ºÅ©·ÑÇϱ⠶§¹®¿¡ HorizontalÀº ÇØÁ¦ÇÑÇÑ´Ù.
  • ScrollRect > Content Ç׸ñÀ» Content ³ëµå·Î ÁöÁ¤ÇÑ´Ù.
  • Å×½ºÆ®¸¦ À§ÇØ Image - Color¸¦ »¡°­»öÀ¸·Î ¼³Á¤ÇÑ´Ù.



3.Content¸¦ ¸¸µç´Ù.
  • UI > PanelÀ» ¸¸µç´Ù
  • PanelÀ̸§À» Content·Î ¹Ù²Û´Ù
  • Width, Height¸¦ 256À¸·Î ¼³Á¤ÇÑ´Ù
  • ¼öÁ÷À¸·Î ½ºÅ©·Ñ Çϱâ À§ÇØ PivotÀ» 0.5, 1·Î ¼³Á¤ÇÑ´Ù.
  • GridLayoutGroupÄÄÆ÷³ÍÆ®¸¦ Ãß°¡ÇÑ´Ù.
  • Content Size Fitter¸¦ Ãß°¡ÇÑ´Ù.










  • GridLayGroupÀÇ ¼¿ »çÀÌÁ 256, 80À¸·Î ¼³Á¤ÇÑ´Ù.
  • SpacingÀº 10, 10À¸·Î ¼³Á¤ÇÑ´Ù.


  • ¼öÁ÷À¸·Î ½ºÅ©·Ñ Çϱ⠶§¹®¿¡ ContentSizeFitter´Â VerticalFit¸¦ "PerferredSize"·Î ¼³Á¤ÇÑ´Ù.

Content Size Fitter Ç׸ñ¿¡ ´ÙÀ½°ú °°Àº ¿ö´×ÀÌ ¶á´Ù.
¿ö´×ÀÌ ¶°µµ ½ÇÇàÀº Á¦´ë·Î µÈ´Ù. ÂòÂòÇϱä ÇÏÁö¸¸ ÀÏ´ÜÀº ¹«½ÃÇÏ°í °£´Ù.

"Parent has a type of layout group component. A child of layout group should not have a Content Size Fitter component. since it should be driven by the layout group."

»óÀ§³ëµå¿¡ ScrollRect ÄÄÆ÷³ÍÆ®°¡ À־ ¹ß»ýÇÏ´Â ¿ö´×ÀÌ´Ù.

4. ¸®½ºÆ®ÀÇ itemÀ» Ãß°¡ÇÑ´Ù.















  • UI > Image¸¦ Ãß°¡ÇÏ°í À̹ÌÁö¸¦ ¼³Á¤ÇÑ´Ù.
  • ImageÀÇ ÀÚ½ÄÀ¸·Î UI > Text¸¦ Ãß°¡ÇÑ´Ù.


4. ¸®½ºÆ®ÀÇ itemÀ» º¹»çÇÑ´Ù.
Image ³ëµå¸¦ ¼±Åà ÈÄ Ctrl+D ´ÜÃàÅ°·Î ItemÀ» º¹»çÇÑ´Ù.


ÂüÁ¶)
SetPropertyUtility.cs ¼Ò½º
https://github.com/tenpn/unity3d-ui/blob/master/UnityEngine.UI/UI/Core/SetPropertyUtility.cs

ContentSizeFitter.cs ¼Ò½º
https://gist.github.com/stramit/1ab43d48bfd5b0f37af4