applicationWillResignActive的单击和双击主页按钮行为

时间:2014-10-13 10:22:56

标签: ios objective-c background

我正在做一个有一些敏感数据的应用程序,所以如果用户进入后台模式,我需要隐藏预览屏幕,例如如果用户双击主页按钮,则显示黑屏。

Protective screen

我在 applicationWillResignActive 方法中执行此操作,方法是在UIWindow上添加黑屏。在iOS8上单击和双击主页按钮时工作正常,但在iOS7上只有当用户双击主页按钮时才会添加黑屏,但是当单击它时没有添加黑屏(它显示没有黑屏的应用程序)

我刚刚意识到,如果用户单击主页按钮,则稍后会调用 applicationWillResignActive 方法,但我不知道为什么它只是在双击时添加黑屏。这是我在applicationWillResignActive上调用的方法。

- (void)addSplashImage
{
    UIInterfaceOrientation interfaceOrientation = [UIApplication sharedApplication].statusBarOrientation;

    if (UIInterfaceOrientationIsPortrait(interfaceOrientation)) {
        self.splashImageView = [[UIImageView alloc] initWithFrame:self.window.frame];

        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
            self.splashImageView.image = [UIImage imageNamed:@"Splash"];
        } else {
            self.splashImageView.image = [UIImage imageNamed:@"SplashiPhone"];
        }
    } else {
        CGRect frame = self.window.bounds;
        if ([TWConstants isRunningiOS8]) {
            self.splashImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height)];
        } else {
            self.splashImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, frame.size.height, frame.size.width)];
        }
        self.splashImageView.image = [UIImage imageNamed:@"SplashLandscape"];
    }

    UIWindow *window = [UIApplication sharedApplication].keyWindow;
    [window addSubview:self.splashImageView];
   // [window bringSubviewToFront:self.splashImageView];
}

你知道为什么会这样吗?我试过将启动图像放到前面,没有成功。这种情况仅在iOS7上发生 。谢谢!

0 个答案:

没有答案