ContentSizeMininum.cs 791 B

12345678910111213141516171819202122232425
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. [RequireComponent(typeof(RectTransform)), ExecuteInEditMode]
  6. [AddComponentMenu("UI/Content Size Mininum")]
  7. public class ContentSizeMininum : MonoBehaviour {
  8. [System.NonSerialized] private RectTransform m_Rect;
  9. private RectTransform rectTransform {
  10. get {
  11. if (m_Rect == null) m_Rect = GetComponent<RectTransform>();
  12. return m_Rect;
  13. }
  14. }
  15. public RectTransform target;
  16. public void Update() {
  17. if (target == null) return;
  18. Vector2 newSize = new(LayoutUtility.GetPreferredWidth(target), LayoutUtility.GetPreferredHeight(target));
  19. if (rectTransform.sizeDelta != newSize) rectTransform.sizeDelta = newSize;
  20. }
  21. }