No se puede hacer que un spinner aparezca

Me gustaría usar una ruleta. Pero, este código a continuación no muestra una ruleta y no estoy seguro de por qué. ¿Cómo hacer que esto funcione? Por cierto, se llama desde un button de envío que he creado.

//spinner declanetworking in .h file UIActivityIndicatorView *aSpinner; //throw up spinner from submit btn we created aSpinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle: UIActivityIndicatorViewStyleWhiteLarge]; [self.view addSubview:aSpinner]; [aSpinner release]; [aSpinner startAnimating]; //send blocking request [request startSynchronous]; //get rid of spinner when finished delegate is finetworking - (void)requestFinished:(ASIHTTPRequest *)request { NSLog(@"REQUEST FINISHED"); [aSpinner stopAnimating]; //[aSpinner release]; } 

Si llamas a algún código de locking inmediatamente después de que muestres la ruleta, la UI no se actualizará, ya que solo se actualiza cuando se ejecuta el ciclo de ejecución principal. Si realmente es la fuente del problema, el spinner debería aparecer cuando comente la línea [request startSynchronous] para una testing.

La solución sería utilizar una request asincrónica. El código de delegado parece que ya lo hace, pero por otro lado, la llamada de inicio menciona la operación síncrona. ¿Le importaria explicar? (¿O pasé por alto algo?)

 //spinner declanetworking in .h file UIActivityIndicatorView *aSpinner; 

Agregue una propiedad en el file de encabezado como también:

 @property (nonatomic, retain) UIActivityIndicatorView *aSpinner; 

¡No olvides sintetizar en el file .m!

 //throw up spinner from submit btn we created UIActivityIndicatorView *tempSpinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; self.aSpinner = tempSpinner; [tempSpinner release]; [self.view addSubview:self.aSpinner]; [self.aSpinner startAnimating]; //send blocking request [request startSynchronous]; //get rid of spinner when finished delegate is fire - (void)requestFinished:(ASIHTTPRequest *)request { NSLog(@"REQUEST FINISHED"); [self.aSpinner stopAnimating]; } 

En su método dealloc escribe: [aSpinner release]; Sin embargo, este es solo uno de los muchos enfoques.

El problema podría estar en la opinión de que estás agregando el spinner. ¿Es capaz de, y tiene las dimensiones para mostrar el indicador de actividad? (por ejemplo, UIBarButtonItems no puede manejar addSubview)