Dan*_*iel 3 cocoa-touch objective-c uitableview contentoffset
我已经将"加载"单元硬编码为我的表视图的最后一个单元格,当生成此单元时,我调用一些方法从Web服务加载新数据,当我收到响应时保存数据,发送通知并在我的表视图上调用reloadData.
我想做同样的事情,但我的桌子的第一个单元格.
我的表格与时间有关,因此向下滚动会显示以后日期中的项目,其目的是让用户滚动更高并加载更早的项目.
我似乎无法成功设置初始偏移量来隐藏此加载单元格,因为如果显示它,那么它将开始加载早期数据.我知道scrollToRowAtIndexPath:atScrollPosition:animated:但我找不到合适的地方来调用它(使用索引路径:1:0第1行第0节).
正如我之前提到的,我需要在调用任何单元格之前设置此可见部分.
有没有人在桌面视图的开头尝试过这种单元格?
如何在第一个单元格被加载之前设置表格视图的初始可见部分?
我应该在这里做些什么吗?就像有一个tableviewHeader,当显示时,我在索引路径0:0处插入一行,这是加载器,并在我reloadTable后删除它?
我使用了contentInset,而不是偏移viewDidLoad.
[self.tableView setContentInset:UIEdgeInsetsMake(-50,0,0,0)];
Run Code Online (Sandbox Code Playgroud)
当生成索引路径[0,0]的行时,我重置插入,这发生在 tableView:cellForRoWAtIndexPath:
[self.tableView setContentInset:UIEdgeInsetsMake(0,0,0,0)];
Run Code Online (Sandbox Code Playgroud)
每次在表视图上传递reloadData之前,我都会重新插入:
- (void)reload{
[self.tableView setContentInset:UIEdgeInsetsMake(-50,0,0,0)];
[self.tableView reloadData];
}
Run Code Online (Sandbox Code Playgroud)
这意味着我的加载单元只能在查看时坐在屏幕上,当新数据进入并且表重新加载时我将偏移量放回原位.