0

我在情节提要中有一个单元原型。所以我自定义了高度、子视图(标签和图像)。但最终该单元格似乎并未用于 SearchDisplayController... 代码片段 >>

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
#warning Reusable cell not working for custom cell.
ItemCell *cell = [tableView dequeueReusableCellWithIdentifier:itemCell];

if (cell == nil) {
    cell = [[ItemCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:itemCell];
}

if (tableView == self.searchDisplayController.searchResultsTableView){
    cell.itemLabel.text = [_filteredList objectAtIndex:indexPath.row];
    cell.priceLabel.text = @"RM 7.00";
    // TODO : Insert Image Here
} else {
    cell.itemLabel.text = [_items objectAtIndex:indexPath.row];
    cell.priceLabel.text = @"RM 7.00";
    // TODO : Insert Image Here
}

return cell;}

我没主意了。即使我使用 self.tableView 而不是 tableView 它也会显示类似的内容。 普通的 搜索显示控制器

4

2 回答 2

1

在行方法的单元格之前添加以下代码。

 - (void)searchDisplayController:(UISearchDisplayController *)controller  didLoadSearchResultsTableView:(UITableView *)tableView
 {
tableView.rowHeight = 24.0f; // this should be the same hight as the re usable cell you implemented 
  }

然后,当表格视图加载并执行搜索时,搜索控制器的单元格高度和表格视图将相同。

于 2013-11-04T19:23:25.353 回答
0

您应该使用此方法进行进一步更改,例如:

-(BOOL)searchDisplayController:(UISearchDisplayController *)controller  shouldReloadTableForSearchString:(NSString *)searchString
{

[controller.searchResultsTableView setBackgroundColor:[UIColor colorWithRed:0xED/255.0 green:0xED/255.0 blue:0xED/255.0 alpha:1.0]];

controller.searchResultsTableView.separatorStyle = UITableViewCellSeparatorStyleNone;

return YES;
}
于 2013-11-04T17:29:01.567 回答