【发布时间】:2012-09-27 16:32:09
【问题描述】:
我试图阻止 Apple 实现在应用程序暂停到后台时截取当前屏幕内容的屏幕截图。我发现了一段可以工作的代码,但它有一个问题。它的作用是清除屏幕上的键窗口,因此当拍摄快照时,它是一个空白屏幕。这是该功能的代码 sn-p:
- (void)applicationWillResignActive:(UIApplication *)application
{
[ UIApplication sharedApplication ].keyWindow.hidden = YES;
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[ UIApplication sharedApplication ].keyWindow.hidden = YES;
}
上述代码的问题在于,当应用返回前台时,视图消失了,因为它已被隐藏,我无法通过简单的方式取消隐藏它
[ UIApplication sharedApplication ].keyWindow.hidden = NO;
在应用委托的 applicationWillEnterForeground 方法中。一旦我将隐藏视图隐藏在后台方法中,有谁知道如何恢复隐藏视图?现在它是一个黑屏,因为视图已被隐藏。当您在进入后台然后返回之前隐藏一个键窗口时究竟会发生什么。你之前隐藏的那个keywindow不再是keywindow了吗?谁能指出我正确的方向?
谢谢
【问题讨论】:
-
你在说什么“屏幕截图”?你的意思是窗口重新打开时恢复的方式?你想看到什么行为?
-
我本质上想要一个清除所有内容的空白屏幕,以便在应用返回时显示片刻(iOS 在后台激活时拍摄的快照)。默认情况下,此快照是应用程序进入后台之前的最后一个屏幕。我希望最后一个屏幕在苹果可以拍摄快照之前没有所有内容
标签: objective-c ios xcode ios5 ios4