Estoy trabajando en una aplicación de barra de pestañas y una de las pestañas tiene un UISearchDisplayController conectado a UISearchBar. Está todo conectado en el NIB y está funcionando. Cuando toco la barra de búsqueda, los botones Ámbito y Cancelar viajan, etc., y el delegado de búsqueda actualiza la tabla de resultados correctamente.UISearchDisplayController no funciona cuando se crea en el código?
Sin embargo, estoy tratando de implementar el mismo código en el mensaje viewDidLoad
en lugar del NIB, sin embargo, cuando elimino el controlador de visualización de búsqueda del NIB y eliminé mi código para crear el mismo controlador en la función, no lo hace no funciona Es como si no se hiciera una conexión fundamental para que no se llame a toda mi funcionalidad de delegado de búsqueda.
Aquí está mi que funciona versión NIB del controlador de pantalla de búsqueda. Está conectado a la barra de búsqueda, la subclase UINavigationController
(MASearchController
) y la vista raíz de eso está conectada como searchContentsController
.
alt text http://img192.imageshack.us/img192/3050/screenshot20100307at304.png
Ahora bien, esto es lo que se puede esperar que hacer en el código para crear el mismo, ¿verdad? Lo que estoy haciendo es dejar el UISearchBar en el NIB para eliminar una pieza del rompecabezas a la vez en el código.
// [MASearchController viewDidLoad]
UISearchDisplayController *searchController = [[[UISearchDisplayController alloc]
initWithSearchBar:searchBar
contentsController:[[self viewControllers] objectAtIndex:0]] autorelease];
[searchController setDelegate:self];
[searchController setSearchResultsDelegate:self];
[searchController setSearchResultsDataSource:self];
He comprobado todos los objetos en tiempo de ejecución y todos ellos se echan un vistazo. Esencialmente eliminé el controlador de visualización de búsqueda del NIB y luego puse el código para crearlo en el mensaje viewDidLoad
.
¿Por qué no funcionaría? Aparece el teclado de búsqueda, pero ninguna función de búsqueda y animación de botones funciona?
Me encontré con el mismo problema. ¡Gracias por publicar esto! – DOOManiac