在tableview中搜索过滤后,为什么显示空白单元格?

时间:2014-08-05 15:17:24

标签: ios objective-c uitableview

现在我有一个动态单元格来显示列表。并使用搜索栏和搜索显示控制器。为什么它在模拟器上显示为空白。

在过滤之前,模拟器会显示所有单元格,并且披露可以链接到另一个表格视图。过滤后,它应显示一些单元格。但它是空白的。并且该披露也没有得到解决。

细胞代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"MovieCell";
MovieCell *cell = (MovieCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
Movie *movie = nil;

if (cell == nil) {
    cell = [[MovieCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
if (tableView == self.searchDisplayController.searchResultsTableView) {
    movie= [filteredMovieArray objectAtIndex:[indexPath row]];
} else {
    movieArray = self.movies;
    movie = [movieArray objectAtIndex:[indexPath row]];
}

cell.nameLabel.text = movie.movieName;

cell.placeLabel.text = movie.place;
cell.categoryLabel.text = movie.category;
cell.isFavLabel.text = movie.isFavourite ? @"Favourite" : @"Not Favourite";

[cell.starRating setRating:movie.rating];

[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
 NSLog(@"description = %@",[cell description]);
return cell;
}

1 个答案:

答案 0 :(得分:0)

我做到了。我认为这是一个很好的答案:Search Bar in UITableView doesn't display text in Cell label

除此之外,我还添加了此代码部分以适应单元格高度:

- (void)searchDisplayController:(UISearchDisplayController *)controller didLoadSearchResultsTableView:(UITableView *)tableView {
tableView.rowHeight = 87;
}

这个数字是我单元格的行高。