2008-10-17 13 views
8

Estoy tratando de mostrar un icono de carga mientras mi aplicación de iPhone descarga un recurso de red, pero no puedo encontrar la manera de hacerlo aparecer correctamente.Mostrar un ícono de carga mientras se está descargando un recurso de red

He buscado y he encontrado algunos detalles en la clase UIActivityView, pero el código fuente de ejemplo disponible no funcionó, y la documentación es bastante escueta.

¿Podría alguien dar un ejemplo simple sobre cómo usar esta clase?

Respuesta

11

Suponiendo que tienes un controlador de vista establecido, y le gustaría añadir un UIActivityIndicator a ella, aquí es cómo usted podría hacerlo:

(suponga que tiene una variable miembro llamada indicator, que se puede utilizar más adelante para limpiar)

para su interfaz (.h):

UIActivityIndicator *indicator; 

para su aplicación (archivo .m):

iniciar la animación

CGRect b = self.view.bounds; 
indicator = [[UIActivityIndicator alloc] initWithActivityIndicatorStyle: 
              UIActivityIndicatorStyleWhite]; 
//center the indicator in the view 
indicator.frame = CGRectMake((b.size.width - 20)/2, (b.size.height - 20)/2, 20, 20); 
[self.view addSubview: indicator]; 
[indicator release]; 
[indicator startAnimating]; 

detener la animación

[indicator removeFromSuperview]; 
indicator = nil; 
0

Ben respuesta parece bastante similar a lo que estoy haciendo - su conjetura sobre el hilo probablemente sea exacto. ¿Estás usando NSURLConnection para manejar tu descarga? Si es así, ¿está utilizando la versión síncrona o asíncrona? Si se trata de la versión síncrona y simplemente está comenzando y deteniendo la animación alrededor de la llamada síncrona, entonces la interfaz de usuario no se actualiza hasta después de que haya detenido la animación.

Cuestiones relacionadas