2

因此,我在 a 中有一个 tableview,UIPopOverController并将 UISearchBar 附加到 tableview 的标题中,并且UISearchDisplayController显示了正确的结果。但是,我无法在UIPopoverController窗口中显示结果。它显示在弹出视图的后面,DetailView覆盖了一半的屏幕(SplitViewController对于 iPad)。如何将结果/表格视图带入弹出视图?我尝试将其添加searchTableView到弹出视图中,但它只是掩盖了原始的表格视图。

这是设置它的代码:

 //Initialize Popover Controller
UIView *ccPopoverView = [[UIView alloc] init];
UIViewController* popoverTableContent = [[UIViewController alloc] init];

self.ccTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 44, 320, 400) style:UITableViewStylePlain];
self.ccTableView.dataSource = self;
self.ccTableView.delegate = self;
self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320.0, 44.0)];
self.searchDisplayController = [[UISearchDisplayController alloc]initWithSearchBar:self.searchBar contentsController:self];
self.searchDisplayController.searchResultsDataSource = self;
self.searchDisplayController.searchResultsDelegate = self;
self.searchDisplayController.delegate = self;
searchBar.frame = CGRectMake(0, 0, 0, 38);
self.ccTableView.tableHeaderView = searchBar;

ccPopoverView.backgroundColor = [UIColor blackColor];


//Here is where I tried adding the searchResultsTableView as a subview.
//[ccPopoverView addSubview:self.searchDisplayController.searchResultsTableView];
[ccPopoverView addSubview:self.ccTableView];


popoverTableContent.view = ccPopoverView;

self.popoverTableController.delegate = self;
self.popoverTableController = [[UIPopoverController alloc] initWithContentViewController:popoverTableContent];

[self.popoverTableController setPopoverContentSize:CGSizeMake(320, 440) animated:NO];

谢谢!

4

1 回答 1

1

我修复了这个问题,而不是self在初始化搜索栏时添加,我需要放入 popovercontroller 作为初始化。

于 2013-05-10T20:28:26.647 回答