2009-12-31 11 views
7

Implementé la carga de imágenes laxas para mi UITableView usando NSUrlConnection. Todo esto está funcionando muy bien. Cuando abro la mesa, obtengo automáticamente las imágenes cuando espero un segundo (en 3G). Sin embargo, cuando me desplazo, la tabla carga la nueva celda, inicia las NSURLConnections, pero cuando la imagen termina de cargarse (en código), no se ponen en la vista hasta que la tabla deje de desplazarse ...UITableView Lazy Image Load, las imágenes aparecen después de la tabla de desplazamiento STOPS

The La aplicación de Youtube puede cargar las imágenes en la tabla MIENTRAS se desplaza, ¿me gustaría hacer esto también? ¿Alguna sugerencia/puntero?

+0

Me gustaría escuchar la respuesta para esto también. BTW ¿cargan cada imagen en un hilo separado? Me cuelgan si me desplazo rápido, ¿alguna idea? – natanavra

+0

No uso hilos (al menos, no explícitamente), uso NSURLConnection initWithRequest: delegate que funciona de manera asíncrona. – StijnSpijker

Respuesta

11

acabo encontrado mi respuesta gracias a la función 'relacionados' a la derecha .. Delayed UIImageView Rendering in UITableView

Tienes que empezar NSURLConnection en una carrera de circuito diferente, por lo que recibes datos mientras se desplaza la mesa.

Gracias por las respuestas!

9

Eche un vistazo al ejemplo de Apple LazyTableImages.

Si solicita todas las imágenes para su tabla de forma asíncrona, cargarán a medida que lleguen.

Notará que algunas aplicaciones esperan scrollViewDidEndDragging y para ser realmente flojo y solo solicitar imágenes para filas que el usuario está examinando actualmente.

+2

En realidad ese ejemplo funciona incluso peor que el mío, porque solo inicia el hilo para cargar la imagen cuando la tabla se detiene desplazándose (ni siquiera cuando aparece a la vista). Echaré un vistazo a cómo se enhebran. Mi aplicación actual carga las filas a medida que entran, y las detiene si pasa la imagen. El único problema es que no se insertan en la tabla hasta que la tabla deje de desplazarse, y no sé exactamente por qué. Creo que a pesar de que la carga de mi imagen se produce de forma asíncrona, no está realmente en un hilo separado, por lo tanto, espera que la tabla deje de desplazarse. – StijnSpijker

+0

Eso es cierto, pero la muestra me pareció muy bien hecha. Lo tengo funcionando muy bien con pequeños ajustes. – Echilon

Cuestiones relacionadas