我有一个应用程序,当用户选择每一行时,我正在更改单元格背景图像。就像这样。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
for (int i = 0; i < [tableView numberOfRowsInSection:0]; i++) {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:0]];
cell.backgroundColor =[UIColor colorWithPatternImage:[UIImage imageNamed:@"white_cell.png"]];
}
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
cell.backgroundColor =[UIColor colorWithPatternImage:[UIImage imageNamed:@"white_cell_check.png"]];
if (indexPath != nil) {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
}
`它工作正常。我的问题是从详细视图中我回弹到上一个视图即到tableview控制器,tableview中更改的背景图像保持为as.But我需要它是正常的可以帮助我吗?
答案 0 :(得分:1)
只需在控制器重新出现时重新加载表格,它就会重新加载数据,并且didSelectRowAtIndexPath
将不会被调用,因此您的单元格将具有初始背景。
- (void)viewWillAppear:(animated){
[super viewWillAppear:animated];
[instanceToYourTableView reloadData];
}
答案 1 :(得分:0)
在cellForRowAtIndexPath中你应该恢复cellBackground,并在viewWillAppear上调用reloadData