0

我有一个滚动视图,里面装满了从 json 文件加载的对象。每 3 秒重新加载一次数据,实际上并没有什么变化(除非用户添加了新数据)。重新加载非常快,但滚动视图会滚动回顶部。我希望它保持在原来的位置。我怎样才能做到这一点?

我使用此代码删除所有重新加载的内容:

[scrollView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];

然后我重新填充滚动视图。重新加载时,scroll view vil的frame恢复到初始值,只有对象的添加才会使其展开。

4

1 回答 1

0

这是假设您正在使用从 JSON 文件接收的每个对象设置 UIScrollView 的 contentSize:

当再次从 JSON 文件加载第一个对象时,它将 contentSize 设置得很低,因此滚动到顶部。

在添加所有对象之前,您真的不想从 UIScrollView 中删除所有内容。相反,您应该缓存其中的对象,并且仅在发生更改时才这样做。即使有更改,我也会考虑可能只是附加更改而不是删除和重新添加对象。

于 2012-05-16T02:19:08.123 回答