通常我们遇到问题,都是在对滑动列表的各种操作中发现了不可预知的问题(废话)
下面我总结一下我遇到的一些问题:
1. WrapContent 初始化过程中没有调用 onInitializeItem 方法,为什么?
我们可以打开UIWrapContent代码,一探究竟,从此方法来看,我们有可能在UIWrapContent初始化之前,没有
对 onInitializeItem进行实例化,导致没有进入到我们自身的回调方法。
protected virtual void UpdateItem (Transform item, int index)
{
if (onInitializeItem != null)
{
int realIndex = (mScroll.movement == UIScrollView.Movement.Vertical) ?
Mathf.RoundToInt(item.localPosition.y / itemSize) :
Mathf.RoundToInt(item.localPosition.x / itemSize);
onInitializeItem(item.gameObject, index, realIndex);
}
}
2. 当我们只有一个Gird的时候WrapContent的UpdateItem调用了两次,为什么?
我们发现调用UpdateItem地方有很多,但是总结归纳起来,有两个地方在调用
protected virtual void Start ()
{
SortBasedOnScrollMovement();
WrapContent();
if (mScroll !&