728x90
토글을 텍스트 너비에 맞게 width 사이즈를 조정하기위해
토글 텍스트 TMP_Text 컴포넌트를 가져오는데 그냥 가져오면 텍스트가 반영 되지않는 상태라 -4.~E 라는 쓰레기 값이 나온다
그렇기때문에 ForceMeshUpdate() 를 사용해서 변경사항을 즉시 업데이트 할수 있는데 이 메서드는 bool ignoreActiveState = false, bool forceTextReparsing = false 두개의 파라미터를 받지만 어찌된 영문인지 동작하지 않았다
이게 TMP_Text의 버전 문제 때문인지.. 서치해보니
부모오브젝트가 비활성화인 경우 ForceMeshUpdate()의 어느것도 먹히지 않는다는 것이다
실제로 활성화 상태에서는 renderedWidth가 정상적으로 나오는것을 확인했다
하지만 이 오브젝트라는것이 항상 활성화 상태 일수 없지 않은가..
그렇기때문에 onEnable로 토글레이아웃 세팅할수 있게 걸어놨다. 한번만 그리도록 플래그 걸어놓고
728x90
'Unity' 카테고리의 다른 글
ContentSizeFitter 적용 LayoutRebuilder.ForceRebuildLayoutImmediate (0) | 2024.09.26 |
---|---|
RenderTexture.Create failed: width & height must be larger than 0UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) (0) | 2024.09.20 |
unity completing domain stuck 버그 현상... (36) | 2024.07.17 |
TextMeshPro 리치 텍스트 컬러, 사이즈 한번에 쓰기 + Bold (0) | 2024.06.25 |
유니티 빌드 Compress 50% 에서 넘어가지 않는 경우 (0) | 2024.06.14 |