Solo para agregar un fragmento de código para una solución rápida a este problema usando una imagen de fondo completa declarada en la inicialización y ocultándola.
Puede ocultar el contenido de cada vista de forma más sofisticada registrándose en la notificación, y en las vistas ocultar las vistas particulares (etiquetas) que desea ocultar.
Otra solución es comprobar qué controlador de visualización se muestra y cambiar entre diferentes capturas de pantalla de la vista de este controlador de vista sin los datos que se muestran.
La forma más sencilla:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UIImageView *backgroundView_ = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Default.png"]];
self.backgroundView = backgroundView_;
[backgroundView_ release];
// Add other controllers views
// ...
[self.window bringSubviewToFront:self.backgroundView];
self.backgroundView.hidden = YES;
[self.window makeKeyAndVisible];
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
self.backgroundView.hidden = YES;
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
self.backgroundView.hidden = NO;
}
¿Seguro? '-applicationDidEnterBackground:' se invoca antes de tomar la captura de pantalla. – kennytm
Estás en lo correcto. Mi error. – akaru