hch
2026-03-20 c8aea6cbef51b3dd41b4d911bc7e6bf89a6e2e2d
Main/System/Scroll/ScrollerController.cs
@@ -13,8 +13,8 @@
    LockVerticalTop,
    LockVerticalBottom,
    KeepHorizon,
    KeepVertical,
    KeepVertical2,
    KeepVertical,   //在滚动视图内容更新或刷新时,保持当前位置不变 置顶显示
    KeepVertical2,  //在滚动视图内容更新或刷新时,保持当前位置不变 置底显示
}
public class ScrollerController : MonoBehaviour, IEnhancedScrollerDelegate {
@@ -110,7 +110,7 @@
    }
    // 获取总的Cell数目(含不显示的)
    public int GetNumberOfCells()
    public int GetCellTotalCount()
    {
        return _data.Count;
    }
@@ -367,11 +367,13 @@
            if (horizontal)
            {
                
                rect.sizeDelta = rect.sizeDelta.SetX(Math.Min(jiaMiddleWithMaxSize, (m_CellHeaderPrefab.height + m_Scorller.spacing) * _data.Count - m_Scorller.spacing));
                rect.sizeDelta = rect.sizeDelta.SetX(Math.Min(jiaMiddleWithMaxSize, (m_CellHeaderPrefab.height + m_Scorller.spacing) * _data.Count - m_Scorller.spacing +
                m_Scorller.padding.right + m_Scorller.padding.left));
            }
            else if (vertical)
            {
                rect.sizeDelta = rect.sizeDelta.SetY(Math.Min(jiaMiddleWithMaxSize, (m_CellHeaderPrefab.height + m_Scorller.spacing) * _data.Count - m_Scorller.spacing));
                rect.sizeDelta = rect.sizeDelta.SetY(Math.Min(jiaMiddleWithMaxSize, (m_CellHeaderPrefab.height + m_Scorller.spacing) * _data.Count - m_Scorller.spacing +
                m_Scorller.padding.top + m_Scorller.padding.bottom));
            }
            if (rect.sizeDelta.x < jiaMiddleWithMaxSize)
            {
@@ -400,6 +402,7 @@
        lastDataCnt = _data.Count;
    }
    //index 是按addcell的顺序,包含所有层级
    public void JumpIndex(int index)
    {
        if (!inited)