最近遇到一个问题,某个界面打开后listview不是在最上面,而是在最下面,这导致看上去有点奇怪,例如排行榜类型的界面第一次打开默认是滚动到最下面的,体验不好(其实一直没什么玩家反馈这个问题,感觉是测试闲得没事要搞事。。),没办法只能帮忙改下。本来以为很简单,手动设置一下innerContainer的位置就行了,但是很明显不行。不然就不会写下来记录一下了。发现不行去查以后,最后发现innerContainer的大小有问题,第一次打开非常大,第二次以后就正常了。
//看引擎代码看到这,大小是在设置,影响大小的是item数量和大小,缩放 但是这些在lua里面打印都是正常的
void ListView::updateInnerContainerSize()
{
switch (_direction)
{
case SCROLLVIEW_DIR_VERTICAL:
{
size_t length = _items.size();
float totalHeight = (length - 1) * _itemsMargin;