hch
5 天以前 0fcd4e99286827bdb32e68e98ebe83377b50a4a9
0312 强制刷新武将属性界面排版
1个文件已修改
24 ■■■■■ 已修改文件
Main/System/HeroUI/HeroAllAttrWin.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroAllAttrWin.cs
@@ -1,5 +1,6 @@
using System.Collections.Generic;
using System.Linq;
using Cysharp.Threading.Tasks;
using UnityEngine;
using UnityEngine.UI;
@@ -9,6 +10,7 @@
/// </summary>
public class HeroAllAttrWin : UIBase
{
    [SerializeField] Transform allContent;
    [SerializeField] GameObject baseAttrGroup; 
    [SerializeField] GameObject fightAttrGroup; 
    [SerializeField] GameObject fightAntiAttrGroup; 
@@ -96,6 +98,8 @@
                UIManager.Instance.OpenWindow<SmallTipWin>();    
            });
        }
        ForceRefreshLayout();
    }
@@ -123,4 +127,24 @@
    }
    /// <summary>
    /// 强制刷新Layout,解决嵌套Layout和ContentSizeFitter的重叠问题
    /// </summary>
    async UniTask ForceRefreshLayout()
    {
        await UniTask.DelayFrame(2);
        // 刷新所有Layout组件
        var layouts = allContent.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>());
        }
    }
}