我正在使用UITableViewController
子类,clearsSelectionOnViewWillAppear
设置为YES
(默认值)。
如果在viewWillAppear:
上自动取消选择取消选定的单元格,如何更改?
答案 0 :(得分:3)
tableView:didDeselectRowAtIndexPath:
子类中的viewWillAppear:
上自动取消选择单元格时,不会调用 UITableViewController
。
在这种情况下,使用以下代码对取消选择进行更改:
- (void) viewWillAppear:(BOOL)animated {
// HACK: Need to be called before super if the selection is cleared on viewWillAppear.
UITableViewCell* cell = [self.tableView cellForRowAtIndexPath:self.tableView.indexPathForSelectedRow];
// Change the cell
[super viewWillAppear:animated];
}
通常,如果您使用deselectRowAtIndexPath:animated:
,则不会调用tableView:didDeselectRowAtIndexPath:
。