我正在做一个有一些敏感数据的应用程序,所以如果用户进入后台模式,我需要隐藏预览屏幕,例如如果用户双击主页按钮,则显示黑屏。
我在 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上发生 。谢谢!