Заставка на резюме в Iphone - PullRequest
1 голос
/ 08 июля 2011

Я хочу добавить заставку в свое приложение, когда приложение возобновляется из фона. Возможно ли это?Заранее спасибо

Ответы [ 2 ]

6 голосов
/ 08 июля 2011

Вы можете обновить свой стек просмотра в -[UIApplicationDelegate applicationWillResignActive:].

Изменения будут видны после возобновления работы приложения, и вы можете снова удалить заставку в -[UIApplicationDelegate applicationDidBecomeActive:].

3 голосов
/ 14 сентября 2012

Какой-то код, чтобы согласиться с ответом Мортена. Я также хочу отметить, что это не ведет себя должным образом в симуляторе, но работает, когда вы запускаете его на устройстве. Симулятор показывает черный экран до тех пор, пока не будет вызван removeFromSuperview.

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    // We don't want to show a splash screen if the application is in UIApplicationStateInactive (lock/power button press)
    if (application.applicationState == UIApplicationStateBackground) {
        UIImageView *splash = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"splashimage.png"]];
        splash.frame = self.window.bounds;
        [self.window addSubview:splash];
    }

}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    // Make sure you do not remove the last view in the event something odd happens
    if ([[self.window subviews] count] > 1) {
        // Not recommended by Apple, but client gets what client wants
        [NSThread sleepForTimeInterval:1.0];
        [[[self.window subviews] lastObject] removeFromSuperview];
    }
}

Обратите внимание, я использовал applicationDidEnterBackground вместо applicationWillResignActive, потому что applicationState помогает различать «нажатую кнопку домой» и «нажатую кнопку блокировки / включения». UIApplicationStateBackground = "нажата домашняя кнопка".

...