它不显示由UISearchDisplayController过滤的UITableView中的单元格内容

时间:2013-08-24 14:45:38

标签: objective-c uitableview uisearchbar uisearchdisplaycontroller

为什么它不显示由uisearchdisplaycontroller过滤的UITableView中的单元格内容。 实际上,当我在搜索栏中执行搜索时,单元格被正确解码(事实上,通过搜索排序的单元格的数量是精确的),但是也没有显示在cellForRowAtIndexPath单元格内容中配置它们(图像和文本)。 此外,如果我单击其中一个搜索的单元格,prepareForSegue中的确切方式将执行到相应viewController的转换。 所以问题只是它没有在我的单元格中显示文本和图像。

考虑到数组配置(数组searchResults)是正确的,我向您展示我的方法cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *identifier = @"MyCell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
    cell.backgroundView = [[UIImageView alloc] initWithImage:myImage];

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

    if (tableView == self.searchDisplayController.searchResultsTableView) {
        UIImage *profileSnap = myProfImage;


        NSString *name = [searchResults objectAtIndex:indexPath.row];

        UILabel *cellLabelName = (UILabel *)[cell viewWithTag:1];
        cellLabelName.text = name;

        UIImageView *cellImage = (UIImageView*)[cell viewWithTag:2];
        [cellImage setImage:profileSnap];

    }

    else{
    //here it all works

    UIImage *profileSnap = [self.arrProfileSnaps objectAtIndex:indexPath.row];
    NSString *name = [self.arrNames objectAtIndex:indexPath.row];

    UILabel *cellLabelName = (UILabel *)[cell viewWithTag:1];
    cellLabelName.text = name;

    UIImageView *cellImage = (UIImageView*)[cell viewWithTag:2];
    [cellImage setImage:profileSnap];

    }

    return cell;

0 个答案:

没有答案