2015-04-08 37 views

回答

3

TableView不重置滾動位置。即使在reloadData函數被調用後,它仍然保持內容偏移。所以如果你想保持像素位置,就不需要做任何事情。

如果在重新加載數據或更改數據源時更改行高,則可以使用scrollToRowAtIndexPath:atScrollPosition:animated:方法。

0

只需撥打scrollToRowAtIndexPath:atScrollPosition:animated:使用前reloadData(動畫:NO)

此外,在案件小心你有更新的實現代碼如下較少的細胞,以防止崩潰。

希望它可以幫助

0

重裝表視圖後,你需要調用的TableView的方法scrollToRowAtIndexPath:atScrollPosition:animated

只需提供索引路徑,滾動可能是以下

UITableViewScrollPositionNone, 
UITableViewScrollPositionTop,  
UITableViewScrollPositionMiddle, 
UITableViewScrollPositionBottom 
一個位置

和動畫參數中的YES/NO。

0

您可以保存當前重裝表使用此方法來保存之前抵消當前的偏移

self.tableView.contentOffset.y 

或者你可以刷新像這樣從當前它會刷新你的表偏移 試試這個:

[UIView animateWithDuration:0.1 delay:0 options:0 animations:^{ 
    self.tableView.contentOffset = CGPointMake(0, currentOffset); 
} completion:^(BOOL finished) { 
    [self.tableView reloadData]; 
}]; 
相關問題