Wystarczy dodać fragment kodu, aby szybko rozwiązać ten problem, używając pełnego obrazu tła zadeklarowanego podczas inicjowania i ukrywania go.
Możesz bardziej skrystalizowaną ukryć zawartość poszczególnych widoków, rejestrując się w powiadomieniu, a w widokach ukryć poszczególne widoki (etykiety), które chcesz ukryć.
Innym rozwiązaniem jest sprawdzenie, który kontroler viewcontroller się wyświetla i przełączanie między różnymi zrzutami ekranu widoku tego kontrolera view bez wyświetlania danych.
Najłatwiej:
- (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;
}
Czy jesteś pewien? '-applicationDidEnterBackground:' jest wywoływane przed zrobieniem zrzutu ekranu. – kennytm
Masz rację. Mój błąd. – akaru