在我的主 tableView 中,我有一些自定义单元格(基本上是带有 imageView 的单元格)。
仅当我的 plist 上的值为 false 时才设置 imageView。然后,当它为真时,imageView 为零。
基本上当用户进入detailView时,值被设置YES
为cell.imageView
nil。
没关系,它有效
我正在使用a searchDisplayController
,当我搜索具有cell.imageView的东西时,进入detailView然后返回到searchResultsTable
,单元格仍然有图像,虽然它不应该,但是主tableView有正确的单元格(所以,没有图像)。
我认为它可能取决于 searchResultsTableView,但我不确定。我试过了
[self.searchDisplayController.searchResultsTableView reloadData];
没有效果。
我怎样才能重新加载 searchResultsTableView 以便它显示正确的单元格,那些有图像的单元格和那些不再有图像的单元格?
任何帮助表示赞赏!
编辑
这是我的cellForRowAtIndexPath
方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
NSArray *rows;
if (tableView == self.searchDisplayController.searchResultsTableView) {
rows = filteredList; //for search
} else {
NSDictionary *section = [localSortedTips objectAtIndex:indexPath.section];
rows = [section objectForKey:@"Rows"];
}
NSDictionary *item = [rows objectAtIndex:indexPath.row];
cell.textLabel.text = [item objectForKey:@"name"];
if ([[item valueForKey:@"isRead"] boolValue] == NO) {
cell.imageView.image = [UIImage imageNamed:@"unread.png"];
} else {
cell.imageView.image = nil;
}
cell.textLabel.font = [UIFont boldSystemFontOfSize:15.0];
cell.textLabel.adjustsFontSizeToFitWidth = YES;
return cell;
}