che*_*ewy 6 objective-c cell uitableview ios
在其中一个视图中有一个UITableView,它经常更新.使用"reloadRowsAtIndexPaths"以经典方式跟踪更改
-(void)refreshCells:(NSArray *)changedCells
{
NSLog(@"refreshCells %i",[changedCells count]);
[TableView beginUpdates];
[TableView reloadRowsAtIndexPaths:changedCells withRowAnimation:UITableViewRowAnimationBottom];
[TableView endUpdates];
}
Run Code Online (Sandbox Code Playgroud)
问题:如何保留用户上次选择的单元格.每次更新refreshCells后,单元格位置可能会发生变化?
您可以使用保存当前选择
NSIndexPath *selectedRow = [self.tableView indexPathForSelectedRow];
Run Code Online (Sandbox Code Playgroud)
在重新加载之前再次选择它
if (selectedRow) {
[self.tableView selectRowAtIndexPath:selectedRow animated:NO scrollPosition:UITableViewScrollPositionNone];
}
Run Code Online (Sandbox Code Playgroud)
重装后.除非您致电insertRowsAtIndexPaths:或,否则单元格位置不会改变deleteRowsAtIndexPaths:.
| 归档时间: |
|
| 查看次数: |
3187 次 |
| 最近记录: |