小编wei*_*uaa的帖子

UISearchController不要将viewcontroller推到UISearchController的下方

自动呈现UISearchController和自己呈现搜索控制器之间的行为有所不同。

@implementation MyViewComtroller

// click search barbutton on right of navigationBar
- (void)searchAction:(id)sender {
    ArticleSearchViewController *searchResultsController = [[ArticleSearchViewController alloc] init];
    UISearchController *searchController = [[UISearchController alloc] initWithSearchResultsController:searchResultsController];
    searchController.searchResultsUpdater = searchResultsController;
    searchController.searchBar.delegate = searchResultsController;
    searchController.delegate = searchResultsController;
    searchController.hidesNavigationBarDuringPresentation = NO;
    [self presentViewController:searchController animated:YES completion:nil];
}

@end

@implementation ArticleSearchViewController

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    ArticleDetailController * articleDetailController = [ArticleDetailController new];
   [(UINavigationController *)self.presentingViewController pushViewController:articleDetailController animated:YES];
}

@end
Run Code Online (Sandbox Code Playgroud)

推送操作发生在UISearchController下面。

uinavigationbar uinavigationcontroller uisearchbar ios uisearchcontroller

2
推荐指数
1
解决办法
1008
查看次数