본문 바로가기
Unity3D/Unity & C#

Unity & C# ~ text를 수정했을 때, ContentSizeFitter가 사이즈 조정을 안 했을 때

by 캬캬백곰 2022. 11. 7.
728x90

tmp_text나 text ui 등을 수정했을 때, 자기 자신의 component 이외에 상위 부모 component에 추가한 contentsizefitter에 의해서 transform size가 새로고침이 되지 않는 현상이 있습니다.

다른 블러거 분들이나 forum에서는 이를 contentsizefitter 버그가 아닌가로 보고 있는 듯 하고, contentsizefitter를 refresh 해주면 현상이 해결되는 것을 확인했습니다.

저의 경우는 상위 부모 2계층에 contentsizefitter가 자식까지 총 3개가 연이어 들어간 구조였기에 다음과 같은 코드를 적용했습니다.

- 구조
 부모1-component에 contentsizefitter add
    ㄴ부모2-component에 contentsizefitter add
          ㄴ자식-component에 contentsizefitter add

 

//contentsizefitter가 포함된 복수의 부모 개체 가져오기
var parents = transform.GetComponentsInParent<ContentSizeFitter>();

//가져온 복수의 부모 개체 contentsizefitter 새로고침
foreach (var parent in parents)
    LayoutRebuilder.ForceRebuildLayoutImmediate((RectTransform)parent.transform);
728x90
반응형