1

我的 UISearchBar 在弹出框(它是 tableviewcontroller 的子类)中以编程方式创建有问题。一切正常,但有一件事让我流血。在表中的所有记录中搜索时 - 结果显示在这些所有记录上。让我们看看我在搜索一些垃圾后得到的一张桌子的照片。

在此处输入图像描述

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

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;

为了使其更明显,请参阅涵盖完整记录表的搜索结果。一旦我向下滑动第一个单元格,就可以看到这个背景表。

在此处输入图像描述

我的搜索结果后面怎么只有白色背景?

非常感谢。

4

1 回答 1

1

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

tableView.backgroundColor = [UIColor whiteColor];

只是为了记录,表视图没有替代品,呈现搜索结果的表视图呈现在被过滤的原始表视图之上。

于 2013-11-11T21:40:34.300 回答