자동 프레젠테이션 UISearchController와 다른 검색 컨트롤러 간에는 동작이 다릅니다.UISearchController UISearchController 앞에있는 viewcontroller를 밀어 내지 마십시오. 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
푸시 작업은 UISearchController 아래에서 발생합니다.
SearchResultsControl에 대해 UINavigationController를 설정하면 ler, push action UISearchController에서 happend하지만 searchBar는 animate를 숨길 수 없습니다. – weiminghuaa