Ios 停止UISearchDisplayController显示空单元格

Ios 停止UISearchDisplayController显示空单元格,ios,uitableview,uisearchdisplaycontroller,Ios,Uitableview,Uisearchdisplaycontroller,我已经在相当标准的tableview(table+search的数据源相同)上实现了一个UISearchDisplayController。我遇到的问题是,当结果没有填满屏幕时,实际结果下面会有“伪”行 我可以设置背景色,但找不到抑制这些行/分隔符的好方法。它们似乎与我在“代理响应”部分中的数字行分离 如果我设置searchResultsTableView.separatorColor(绿色),它只会更改实际结果行 我可以将分隔符样式更改为UITableViewCellSeparatorOne,

我已经在相当标准的tableview(table+search的数据源相同)上实现了一个UISearchDisplayController。我遇到的问题是,当结果没有填满屏幕时,实际结果下面会有“伪”行

我可以设置背景色,但找不到抑制这些行/分隔符的好方法。它们似乎与我在“代理响应”部分中的数字行分离

如果我设置searchResultsTableView.separatorColor(绿色),它只会更改实际结果行

我可以将分隔符样式更改为UITableViewCellSeparatorOne,但随后我必须在实际结果上手动重新创建分隔符,并且存在边缘情况(如选择颜色覆盖了我的视图)

是否有一种干净的方法来隐藏附加屏幕截图中指出的行


您可能可以为搜索显示控制器实现此委托方法:

- (void)searchDisplayController:(UISearchDisplayController *)controller willShowSearchResultsTableView:(UITableView *)tableView;
{
    UIView *footer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 1)];
    footer.backgroundColor = [UIColor clearColor];
    [tableView setTableFooterView:footer];
}

这将使最后几行消失。当然,你可以用你选择的任何其他方法来做这件事。例如,如果希望对普通UITableView产生相同的效果,可以在UIViewController的
viewDidLoad
中执行此操作。

您可能可以为搜索显示控制器实现此委托方法:

- (void)searchDisplayController:(UISearchDisplayController *)controller willShowSearchResultsTableView:(UITableView *)tableView;
{
    UIView *footer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 1)];
    footer.backgroundColor = [UIColor clearColor];
    [tableView setTableFooterView:footer];
}

这将使最后几行消失。当然,你可以用你选择的任何其他方法来做这件事。例如,如果希望对普通UITableView产生相同的效果,可以在UIViewController的
viewDidLoad
中执行此操作。

FYI-解决方案与任何表视图相同。这与搜索控制器无关。我的常规表视图不显示这样的额外“单元格”。默认行为是否不同(或者SearchTableView是否不像普通TableView从情节提要继承某些配置)?如果实际行未填满屏幕,任何普通样式的标准
UITableView
将在最后一实际行下方显示空行。仅供参考-解决方案与任何表格视图相同。这与搜索控制器无关。我的常规表视图不显示这样的额外“单元格”。默认行为是否不同(或者SearchTableView是否不像普通TableView从故事板继承某些配置)?如果您的实际行没有填满屏幕,任何普通样式的标准
UITableView
都会在最后实际行下方显示空行。我喜欢这种方式。。。非常感谢。最后一个问题是最后一行分隔符(在实际行和背景之间)现在是“喜怒无常的”。它不会在第一次加载时显示,但如果我高亮显示,然后取消选择或选择并点击返回,则会显示。这听起来可能是您的自定义单元格或其他一些代码的问题。我喜欢这种方式。。。非常感谢。最后一个问题是最后一行分隔符(在实际行和背景之间)现在是“喜怒无常的”。它不会在第一次加载时显示,但如果我突出显示然后取消选择或选择并点击返回,它会显示。这听起来可能是自定义单元格或其他代码的问题。