Establecí mi altura de fila UITableView
en Interface Builder en 54.0. Tengo un UISearchDisplayController
en esa vista. Cuando el usuario toca la barra de búsqueda, la tabla cambia de tamaño correctamente. Sin embargo, cuando comienzan a escribir (y en realidad hacen la búsqueda) la altura de la fila disminuye. Permanece mal hasta que la búsqueda toca Cancelar.UISearchDisplayController cambio de altura de fila
No pude encontrar documentación sobre este comportamiento en el sitio de Apple.
He intentado configurar la altura de la fila en UISearchDisplayDelegate
llamadas de delegado. Este podría ser el enfoque correcto, pero no conozco los detalles y no pude hacerlo funcionar.
También intenté implementar - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
. Esto funcionó, pero tengo miles de entradas en esta lista y no puedo tomar el golpe de rendimiento.
¿Cuál es la forma correcta de arreglar esto?
Animo a todos a echar un vistazo a la respuesta de steven a continuación. La suya es la única respuesta que a) sigue el protocolo 'UITableViewDataSource', tratando el' UISearchTableView' como cualquier otra tabla y b) Admite más de una altura para las filas. B es bastante importante si tiene la funcionalidad estándar para mostrar una celda personalizada de "sin resultados de búsqueda" que generalmente se dimensionará para tomar todo el marco de tableView. – memmons
Dudo que sea cierto. Encontré la implementación de 'heightForRowAtIndexPath' en mi caso, fue lento para mi tabla (que tenía decenas de miles de filas). Asegúrese de no devolver una altura variable solo para ciertos parámetros 'tableView' y debería estar bien. –
'heightForRowAtIndexPath' nunca debería tener un impacto significativo en el rendimiento de' tableView'. Ya sea que tenga 10 filas o 10.000 filas, el tableView solo trata con las filas visibles actualmente. Por lo tanto, a menos que esté tardando una cantidad considerable de tiempo para determinar cuál debe ser la altura de fila, su tableView debería ser capaz de mantener una animación de 60 fps al desplazarse. – memmons