UISearchBar以编程方式显示 - 结果显示在“所有记录”表中

时间:2013-11-08 14:36:02

标签: uisearchbar uisearchdisplaycontroller

我在popover中以编程方式创建的UISearchBar存在问题(这是tableviewcontroller的子类)。一切都很好,但有一件事让我流血。在表格中的所有记录中搜索时,结果将显示在这些记录中。让我们看一张桌子上的图片,这是我在寻找一些垃圾后得到的。

enter image description here

可滚动结果表(空)和作为背景的所有记录表(不能单击)。这是我的代码片段。

CustomerPickerViewController.h

@interface CustomerPickerViewController : UITableViewController <UISearchDisplayDelegate, UISearchBarDelegate>{

UISearchDisplayController *searchDisplayController;

}

CustomerPickerViewController.m

//set up searchbar
UISearchBar *searchBar = [[UISearchBar alloc] init];
searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
searchBar.delegate = self;

//set up searchDisplayController with search bar
searchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self];
searchDisplayController.delegate = self;
searchDisplayController.searchResultsDataSource = self;
searchDisplayController.searchResultsDelegate = self;

//place searchBar in the header
self.tableView.tableHeaderView = searchBar;

为了使其更加明显,请参阅此搜索结果,其中包含完整记录表。一旦我滑下第一个单元格,就可以看到这个背景表。

enter image description here

如何才能在搜索结果后面显示白色背景?

非常感谢。

1 个答案:

答案 0 :(得分:1)

如果您的原始表格视图是半透明的,我认为它会为您提供我们在屏幕截图中看到的结果。尝试更改原始表格视图背景颜色:

tableView.backgroundColor = [UIColor whiteColor];

只是为了记录,表视图没有替换,显示搜索结果的表视图显示在正在过滤的原始表视图之上。