yo sólo tenían la misma pregunta, y se me ocurrió una solución a medias, pero trabajando que no implica reescribir UISearchDisplayController.
(RESULTADO FINAL: Un UITableView --que respuestas a shouldReloadTableForSearchString-- superpone en la parte superior de la UICollectionView, una vez que haga clic en Buscar se descartó, y tiene sus resultados en la CollectionView leyendo si esto es de interés.)
En el IB creé un UIViewController en el que inserté (vea la captura de pantalla): una vista para propósitos de diseño -> en la que primero solté un UISearchBar y un controlador de pantalla. En la misma vista (uno al lado del otro) dejé caer un UICollectionView con un UICollectionViewCell personalizado. Luego dejé caer un UITableViewProvider (con una UITableCell personalizada, pero eso no es obligatorio, también puedes ignorar el UITabBarItem y el elemento Nav en la captura de pantalla, sin importancia)
Establecí la altura de UITableView en 0 y se conectó todos los puntos de venta y delegados, y el resultado neto es el siguiente, cuando el cursor ingresa a UISearchBox, la superposición UITableView en la parte superior de UICollectionView, a medida que se escribe se llama el archivo shouldReloadTableForSearchString del y los resultados aparecen en tableView; En searchBarSearchButtonClicked simplemente configuro dataSource de UICollectionView y llamo reloadData en su salida, et Voila.
Uno pensaría que Apple debería generar genéticamente el controlador de visualización de búsqueda; tal vez en una versión futura?
(Esto funciona porque esa es la forma se optimiza el controlador UISearchDisplay, IIRC hay realmente una UITableView por la introducción de caracteres apilados uno encima del otro)
(No publicar código porque hay un poco involucrados; PLZ preguntar si todo lo que no es sencillo)
¿Has hecho algún progreso con esta pregunta? Estoy tratando de hacer lo mismo ... Todo lo que he hecho hasta ahora es agregar una barra de búsqueda como encabezado de sección, pero en realidad no se procesa bien. – aspyct
No tengo nada :(. –
Cualquiera? Yo podría usar esto también ... parece que la mejor solución en este momento puede ser simplemente subclasificar el UISearchBar/UISearchDisplayController y enseñarles cómo interactuar con el UICollectionView. – Raconteur