【发布时间】:2015-07-25 01:50:03
【问题描述】:
当用户按下搜索栏按钮时,会出现一个带有搜索栏的弹出框。我正在从仅包含 tableview 的 nib 加载搜索结果视图。现在,我希望在弹出窗口出现时选择搜索栏,但是搜索栏没有得到第一响应者。我尝试在didPresentSearchController: 委托方法中设置它,但这也不起作用。以下是我尝试过的代码。
- (IBAction)search:(id)sender {
self.searchView = [[[NSBundle mainBundle] loadNibNamed:@"Popover" owner:self options:nil] objectAtIndex:0];
self.searchController = [[UISearchController alloc] initWithSearchResultsController:self.searchView];
self.searchController.searchBar.scopeButtonTitles = @[@"BLARGH", @"WARGH"];
self.searchController.searchBar.selectedScopeButtonIndex = 1;
self.searchController.searchBar.delegate = self;
self.searchController.delegate = self;
self.table.delegate = self;
self.table.dataSource = self;
self.table.tableHeaderView = self.searchController.searchBar;
self.popover = [[UIPopoverController alloc] initWithContentViewController:self.searchView];
[self.popover setPopoverContentSize:CGSizeMake(320, 88)];
self.popover.delegate = self;
[self.popover presentPopoverFromBarButtonItem:self.searchButton permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
[self.searchController.searchBar becomeFirstResponder];
}
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
[self.popover setPopoverContentSize:CGSizeMake(320, 600)];
self.table.frame = CGRectMake(0, 0, 320, 600);
NSLog(@"Me pressed");
}
【问题讨论】:
标签: ios objective-c uisearchcontroller uipopover