Pregunta

Estoy tratando de mostrar un ícono de carga mientras mi aplicación para iPhone descarga un recurso de red, pero no puedo entender cómo hacer que se muestre correctamente.

Busqué y encontré algunos detalles sobre la clase UIActivityView , pero el código fuente de ejemplo disponible no funcionó, y la documentación es un tanto breve.

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

¿Fue útil?

Solución

Suponiendo que tiene configurado un controlador de vista y desea agregarle un UIActivityIndicator , aquí le explicamos cómo podría hacerlo:

(suponga que tiene una variable miembro llamada indicador , que puede usar más adelante para limpiar)

Para su interfaz (archivo .h):

UIActivityIndicator *indicator;

Para su implementación (archivo .m):

Inicia 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;

Otros consejos

La respuesta de Ben se parece bastante a lo que estoy haciendo; es probable que tu suposición sobre el tema sea precisa. ¿Está utilizando NSURLConnection para manejar su descarga? Si es así, ¿está utilizando la versión síncrona o asíncrona? Si es la versión sincrónica y simplemente está iniciando y deteniendo la animación alrededor de la llamada sincrónica, la interfaz de usuario no se actualizará hasta que haya detenido la animación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top