移动到后台之前我可以隐藏视图之前的应用截图

时间:2018-03-02 15:38:02

标签: ios background

我正在尝试实现与Apple详细介绍的功能类似的功能: https://developer.apple.com/library/content/qa/qa1838/_index.html

当应用程序进入后台时,我没有建立视图控制器,而是在调用applicationWillResignActive时尝试将其置于适当的位置。

我遇到的问题是屏幕截图似乎是在渲染视图控制器之前拍摄的。当我重新打开应用程序时,我会看到阻塞视图控制器在applicationDidBecomeActive中被解除之前闪烁。

如果我将应用程序完全放入后台,那么我会看到阻止视图,但是如果我只需双击主页按钮来查看应用程序切换器,则没有任何反应。

当我向上滑动以查看应用程序切换器时,这在iPhone X上正常工作,但我无法在iPhone 5,6或iPad Mini上使用它。

我在这里缺少什么?

代码如下:

- (void)applicationWillResignActive:(UIApplication *)application {
    DDLogInfo(@"Application did resign active");
    [self showBlockingView];
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    DDLogInfo(@"Application did become active");
    [self hideBlockingview];
}

-(void)showBlockingView {
    self.blockingView = [UIView new];
    self.blockingView.backgroundColor = [DCMStyleManager lightGray];
    self.blockingView.frame = self.window.bounds;

    [self.window addSubview:self.blockingView];

}

-(void)hideBlockingview {
    [self.blockingView removeFromSuperview];
}

修改 我还在这里读到,直到应用程序实际处于后台才会截屏,并且您在App Switcher中看到的视图是实时视图?我只是尝试在视图中添加一个基本动画,以查看它是否实际存在,但一旦显示切换器,所有内容都会冻结。

0 个答案:

没有答案