2016-07-16 67 views
1

我有一个UITableview有40至50个部分。这是可扩展的tableview时,有史以来点击部分头扩大相应的部分,如果已经扩大它将关闭。我的问题是,当我点击部分头请求服务器的数据和从服务器接收到的数据时,我的Tableview会自动滚动到顶部,并且这仅在第20节后发生。我不明白发生了什么问题。为什么UITableview在重新加载数据时向上滚动

NSIndexSet *sections = [NSIndexSet indexSetWithIndex:self.selectedIndexPath.section]; 
[self.tableview reloadSections:sections withRowAnimation:UITableViewRowAnimationFade]; 
+0

您使用的数据是什么类型的细胞?如果您使用可变高度单元格,则会发生这种情况。在数据加载后,预计的行为是否将抽头部分标题放在表格顶部? – user2002649

+0

上午使用Defalut UITableviewCell和单元格高度和部分高度都是动态的,它滚动到顶部(部分0) –

回答

1

如果您执行某些更改某些单元格高度的操作,表格将在重新加载后滚动到其他位置。 如果你想实现代码如下滚动到挖掘部分的顶部,一旦加载完成,那是这样的:

NSIndexSet *sections = [NSIndexSet indexSetWithIndex:section]; 
[self.tableView reloadSections:sections withRowAnimation:UITableViewRowAnimationFade]; 

NSIndexPath  *sectionPath = [NSIndexPath indexPathForRow:NSNotFound inSection:section]; 
[self.tableView scrollToRowAtIndexPath:sectionPath atScrollPosition:UITableViewScrollPositionTop animated:YES]; 
+0

如果它是滚动到表格的顶部,但是你正在做的东西到dataSource这是设置数量表中的部分为零,然后立即重置它? – user2002649

相关问题