TableViewItemTag topDrawnItemPos = {-1, -1};
TableViewItemTag refreshItemPos = {groupIndex, itemIndex};
float prevScrollAreaHeight = GetScrollAreaBounds().height;
+ float prevScrollPosition = GetScrollPosition();
GetTopDrawnItem(topDrawnItemPos);
break;
}
+ __lockLoadItemWithScroll = true;
+
AdjustClientAreaBounds(true);
+ __lockLoadItemWithScroll = false;
+
if ((topDrawnItemPos.groupIndex > refreshItemPos.groupIndex)
||((topDrawnItemPos.groupIndex == refreshItemPos.groupIndex)&&(topDrawnItemPos.itemIndex > refreshItemPos.itemIndex)))
{
RefreshItemLayout(topDrawnItemPos, refreshItemPos, type, false);
- float newScrollPosition = GetScrollPosition() - (prevScrollAreaHeight - GetScrollAreaBounds().height);
+ float newScrollPosition = prevScrollPosition + (prevScrollAreaHeight - GetScrollAreaBounds().height);
+
SetScrollPosition(newScrollPosition, false);
}
else