Uitableview UISearchController将结果隐藏在搜索栏上方

Uitableview UISearchController将结果隐藏在搜索栏上方,uitableview,ios8,uisearchcontroller,childviewcontroller,childviews,Uitableview,Ios8,Uisearchcontroller,Childviewcontroller,Childviews,我正在UITableView的容器视图中使用UISearchController。我正在添加搜索栏,如下所示: self.resultsTableController = [self.storyboard instantiateViewControllerWithIdentifier:NSStringFromClass([ResultViewController class])]; self.searchController = [[UISearchController alloc] init

我正在UITableView的容器视图中使用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;
请参见以下屏幕截图。它隐藏搜索栏上方的所有搜索结果:


请帮我找出为什么我会得到这个?

我发现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
        }
你可以

searchController.hidesNavigationBarDuringPresentation = false