hch
2025-12-29 498c0aa885138063c8537bc6ad4e078857f6f0ee
Main/Utility/UIUtility.cs
@@ -3,6 +3,7 @@
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using Cysharp.Threading.Tasks;
@@ -344,4 +345,26 @@
        return string.Join("/", names);
    }
        /// <summary>
    /// 强制刷新Layout,解决嵌套Layout和ContentSizeFitter的重叠问题
    /// </summary>
    public static async UniTask ForceRefreshLayout(Transform _layout)
    {
        await UniTask.DelayFrame(2);
        // 刷新所有Layout组件
        var layouts = _layout.GetComponentsInChildren<LayoutGroup>(true);
        foreach (var layout in layouts)
        {
            LayoutRebuilder.ForceRebuildLayoutImmediate(layout.GetComponent<RectTransform>());
        }
        await UniTask.DelayFrame(2);
        // 刷新所有Layout组件
        foreach (var layout in layouts)
        {
            LayoutRebuilder.ForceRebuildLayoutImmediate(layout.GetComponent<RectTransform>());
        }
    }
}