2016-07-16 119 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

相關問題