そのため、内部にテーブルビューがありUIPopOverController
、テーブルビューのヘッダーに UISearchBar を添付すると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];
ありがとう!