我正在尝试实现与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中看到的视图是实时视图?我只是尝试在视图中添加一个基本动画,以查看它是否实际存在,但一旦显示切换器,所有内容都会冻结。