Tengo una clase principal con tabla vista y barra de búsqueda sobre ella, que es una subclase de controlador de tabla vista. Los delegados de searchBar y searchdisplaycontroller se configuran en una clase separada heredada de UISearchdisplaycontroller. El origen de datos y los delegados para tabla vista y barra de búsqueda se manejan en esta clase por separado. Las clases están bajo ARC.No se puede descartar la vista Buscar
Por lo tanto, cuando un usuario toca la búsqueda, el control se transfiere de la clase FilesListController (principal) a esta clase. Ahora, cuando un usuario en grifos botón de cancelación, el delegado barra de búsqueda establecen en esta clase es decir
- (void)searchBarCancelButtonClicked:(UISearchBar *) searchBar
se llama, pero no sirve el propósito de despedir el searchtableview pantalla completa y volver a la parentviewcontroller. Sin embargo, si no escribo este delegado en la clase de búsqueda, funciona correctamente. He puesto los delegados Searchbar en xib y en llamar:
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
así:
self.searchResultsTableView.delegate = self;
self.searchResultsTableView.dataSource = self;
[parentFileViewController.searchDisplayController setDelegate:self];
Dónde estoy haciendo mal? Gracias por adelantado.
[self.searchDisplayController setActive: NO anima ted: SÍ]; – jussi
hola gracias @jussi ... funciona !!! Pero, ¿por qué no descarta por sí mismo? Esto es como si estuviéramos forzando al searchviewcontroller a descartar. –
porque algunos desean almacenar cierta Información antes de desechar el Controlador. Voy a publicar esto como una respuesta. – jussi