我已经制作了一个带有5个部分的UITableView,每个部分3行。第一行是标题,第二行是图像,第三行是页脚,数据来自互联网,其中包含每个单元的标题,图像和页脚。因为数据很大,所以我通过向上拖动UITableView的底部使分页转到下一页,而向下拖动UITableView的顶部使分页转到上一页。它像9GAG Reader一样工作。我还想在更改页面时对9GAG Reader制作相同的动画,该动画是-
。当下一页准备好时,它将滚动到我完成的下一页,工作正常。
。下一页完成后,上一页将被删除。
对于每个页面,都有5个部分,所以我是这样做的-我先在页面上添加5个部分,如果转到下一页,将再添加5个部分,然后滚动到第5个部分,因此滚动动画有效好。
但是对于下一部分,我删除了0-4个部分后,其余部分的位置发生了变化,这是一个问题。我想固定下一页的位置,我该怎么做?
// here expend to 2 page, 10 sections, and then scroll to the next page
self.totalSections = TOTAL_SECTIONS * 2;
[self.mainContent reloadData];
[self.mainContent scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:TOTAL_SECTIONS] atScrollPosition:UITableViewScrollPositionTop animated:YES];
// here delete the 0-5 sections, the previous page, but postion is changed..
NSIndexSet *deletes = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, 5)];
self.totalSections = TOTAL_SECTIONS;
[self.mainContent deleteSections:deletes withRowAnimation:UITableViewRowAnimationNone];
最佳答案
我是9Gag Reader的两个开发人员之一,不是执行此部分的人,但是我知道它是如何工作的。
我认为您的做法有点太复杂了。为了创建您要重新创建的效果,我们截取了tableview的屏幕快照,并使用它来完成效果,该效果使我们不必添加/删除可能导致崩溃的行,而只是重新加载内容。
希望对您有所帮助,并且不适合9Gag Reader克隆:p!告诉我们您的应用何时生效(请查看iTunes页面上的联系地址);)
问候,
亚瑟@Appinest