2

そのため、内部にテーブルビューがありUIPopOverController、テーブルビューのヘッダーに UISearchBar を添付するとUISearchDisplayController、正しい結果が表示されます。ただし、結果をUIPopoverControllerウィンドウ内に表示することはできません。DetailView画面の半分をカバーするポップオーバー ビューの後ろに表示されます ( SplitViewControlleriPad の場合)。結果/テーブルビューをポップオーバー ビューに表示するにはどうすればよいですか? をポップオーバー ビューに追加しようとし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