在XCode 4.2中使用动态自定义的UITableViewCell,包括Storyboards和UISearchDisplayController。

14

我使用 Xcode 4.2 创建了一个基于故事板的 iOS 应用程序。其中一个屏幕包含一个使用动态自定义单元格的 UITableViewController。

到目前为止 - 一切正常。

现在,我想添加一个 UISearchDisplayController 来允许对我的列表进行过滤。

由于某种原因,UISearchDisplayController 不会显示我的自定义单元格,我找不到强制它显示的方法...

这是我的 cellForRowAtIndexPath 方法:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"QueueListCell";
    QueueListTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[QueueListTableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
                                             reuseIdentifier:CellIdentifier];
    }
    assert(cell);

    if ([tableView isEqual:self.searchDisplayController.searchResultsTableView]) {
        indexPath = [_indexPathsForSearchResults objectAtIndex:indexPath.row];
    }

    // Set up the cell...
    NSDictionary* itemDict = [_ListItems objectAtIndex:indexPath.row];

    cell.labelQueueName.text = [itemDict objectForKey:kQueueName];
    cell.labelQueueNumItems.text = [[itemDict objectForKey:kQueueNumItems] stringValue];

    return cell;    
}
有没有想法如何使这个工作?我的UISearchDisplayController表确实显示了正确数量的结果(因为我可以点击它们,并且我添加了一个NSLog来让我知道我正在点击什么...)
这是我的表视图 这是我的表格视图 这是搜索显示表格的样子... 这是搜索显示表格的样子... 我的问题/问题是如何使UISearchDisplayController表视图显示我的自定义单元格?
感谢任何帮助...
Reuven

您可以始终使用tableView的参考比较来检查差异。 - sagarkothari
我的问题是,由于某种原因,searchResultsTableView没有显示我的自定义单元格。这就是我正在尝试解决的问题(请参见我添加到帖子中的图像)。 - Reuven
1个回答

27

回答特定的查询问题

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
}

要查看完整示例,请访问苹果官网上的示例代码

逐步说明


2
Spark,你是我的英雄! :-) 如此、如此、如此令人沮丧。但修复起来却是如此简单、优雅!谢谢! - Reuven
1
谢谢!我已经为此苦苦挣扎了好几个小时。 - Pedro Mancheno
4
起初,我尝试从方法参数tableView中出队一个单元格(该参数不知道我的自定义单元格)...通过@Spark的回答,我将代码更改为始终从self.tableView出队单元格 - 这个表格知道我的自定义单元格... - Reuven

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接