Uma*_*raj 7 uitableview childviewcontroller childviews ios8 uisearchcontroller
我在UITableView中的Container视图中使用UISearchController.我正在添加这样的搜索栏:
self.resultsTableController = [self.storyboard instantiateViewControllerWithIdentifier:NSStringFromClass([ResultViewController class])];
self.searchController = [[UISearchController alloc] initWithSearchResultsController:self.resultsTableController];
self.searchController.searchBar.frame = CGRectMake(self.searchController.searchBar.frame.origin.x, self.searchController.searchBar.frame.origin.y, self.searchController.searchBar.frame.size.width, 44.0);
self.searchController.searchResultsUpdater = self;
[self.searchController.searchBar sizeToFit];
self.searchController.hidesNavigationBarDuringPresentation = NO;
self.tableView.tableHeaderView = self.searchController.searchBar;
self.resultsTableController.tableView.delegate = self;
self.searchController.delegate = self;
self.searchController.dimsBackgroundDuringPresentation = YES;
self.searchController.searchBar.delegate = self;
self.definesPresentationContext = NO;
Run Code Online (Sandbox Code Playgroud)
请参阅以下屏幕截图.它隐藏了搜索栏上方的所有搜索结果:

请帮帮我,为什么我得到这个?
小智 1
我发现 searchcontroller 有点棘手。我遇到了很多问题,我发现特定的顺序很重要。以下组合对我有用
searchController.searchResultsUpdater = self
searchController.searchBar.delegate = self
searchController.dimsBackgroundDuringPresentation = false
searchController.searchBar.placeholder = "search"
searchController.searchBar.returnKeyType = .done
searchController.searchBar.searchBarStyle = .minimal
searchController.hidesNavigationBarDuringPresentation = false
searchController.searchBar.sizeToFit()
definesPresentationContext = true
if(tableView.tableHeaderView == nil){
tableView.tableHeaderView = searchController.searchBar
}
Run Code Online (Sandbox Code Playgroud)
你可以有
searchController.hidesNavigationBarDuringPresentation = false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
327 次 |
| 最近记录: |