UISearchBar está desapareciendo después de un solo toque en la barra de búsqueda

He buscado todas las demás preguntas sobre UISearchBar y nada parece responder a mi problema. Tengo una vista de navigation en la parte superior y una vista de tabla con un UISearchBar . Cuando tableview en la barra de búsqueda, la vista de tableview se oscurece, el keyboard aparece, como deberían, pero desaparece la barra de búsqueda de uisearchbar . Si toco en la vista de tabla oscurecida, el keyboard se descarta, la oscuridad se va y reaparece el UISearchBar. ¿Alguna idea de por qué está desapareciendo?

Aquí hay un código que está dentro de una class que extiende UITableViewController:

 searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 100, self.view.frame.size.width, 44)]; searchBar.delegate = self; searchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self]; searchDisplayController.delegate = self; searchDisplayController.searchResultsDataSource = self; searchDisplayController.searchResultsDelegate = self; //[self.tableView insertSubview:self.searchDisplayController.searchBar aboveSubview:self.tableView]; self.tableView.tableHeaderView = searchDisplayController.searchBar; 

En mi file .h, adopto estos protocolos: `pero no implemento ninguno de sus methods excepto:

 - (void)searchDisplayController:(UISearchDisplayController *)controller didLoadSearchResultsTableView:(UITableView *)tableView { [tableView registerClass:[EmailCell class] forCellReuseIdentifier:mailCellIdentifier]; } 

EDITADO:

Mencioné a propósito la vista de la table más abajo, de modo que hay espacio en blanco entre la vista de navigation superior y la vista de tabla, y encontré que la barra de búsqueda no desaparecía, se estaba moviendo más arriba en la pantalla al tocar el UISearchBar, ocupando el espacio en blanco que agregó. ¿Alguna idea de por qué?

Agregue este método

 - (void)searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller { if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) { [self.tableView insertSubview:self.searchDisplayController.searchBar aboveSubview:self.tableView]; } } 

Para más detalles verifica este enlace.