我有一个主ItemTableViewController,它包含很长的项目列表。在每个单元格上,都有一个“标记为最喜欢的”UIButton,在推动时将变为红色,在未被推动时变为灰色。每个单元格也可以被轻击,并推送到ItemDetailViewController。
同时,ItemDetailViewController还有一个“标记为收藏”的UIButton。
如果我这样做,如何将ItemTableViewController的单元格更新为红色:
1.点击一个尚未被收藏的ItemTableViewController单元格,然后转到ItemDetailViewController
2.点击标记为收藏夹按钮
3.点击后退按钮
我知道我可以在viewWillAppear中执行[self reloadData]。但是我会失去最新的滚动位置,我不希望这样。这可能吗?
答案 0 :(得分:0)
好吧,使用NSIndexPath *clickedIndexPath = indexPath
跟踪单元格索引,并在返回视图时执行
NSArray *reloadPaths = [[NSArray alloc] initWithArray:@[indexPath];
[self.tableView reloadRowsAtIndexPaths: reloadPaths withRowAnimation:UITableViewRowAnimationDefault];