2012-03-05 19 views
13

Mis UIViewController registros encontrados para notificaciones la que mi componente del modelo envía cuando se ha terminado la descarga de contenido.¿Hay un método UIViewController que se llame automáticamente cuando la aplicación se mueve al fondo?

La descarga puede ocurrir en segundo plano (usando beginBackgroundTaskWithExpirationHandler:) así que obviamente no quiero que mi GUI intente volver a dibujar, etc., si la descarga se completa en segundo plano.

Así que supongo que tengo dos opciones - 1) el modelo sabe cuando su en el fondo/primer plano y no se dispara las notificaciones. 2) el UIViewController elimina el registro de las notificaciones cuando está en segundo plano.

Opción 2) es preferible.

¿Hay un método en UIViewController que siempre se llama cuando la aplicación pasa a un segundo plano? ¿O el UIViewController tendrá que registrarse para recibir un evento de notificación cuando la aplicación pase a segundo plano?

(parece que viewWillDisappear, etc. viewWillUnload no se deje llama cuando la aplicación pasa a segundo plano?)

Respuesta

21

hacer su vista registro controlador para UIApplicationDidEnterBackgroundNotification en view did load ... el método de selección asociado se llamará antes entrar en el fondo ..

+2

1 Sin embargo, es posible que la actualización de la interfaz de usuario al despertar es difícil. Cuando su aplicación está en segundo plano, el dispositivo iOS capturará una captura de pantalla y presentará esta captura de pantalla cuando se reanude la aplicación. Lo que esto significa es que si se actualiza la interfaz de usuario en el '- (void) applicationDidBecomeActive: (UIApplication *) application' que el usuario verá la pantalla anterior y isntantly cambiará a lo que ha cambiado la interfaz de usuario para ser .... – Sam

Cuestiones relacionadas