控制iOS 7多任务切换器中的屏幕截图我一直在尝试找到有关iOS 7中新的多任务切换器的一些信息,特别是当应用程序进入休眠状态时操作系统的屏幕截图。有没有办法完全关闭此功能或屏幕截图?或者我可以从切换器中完全隐藏应用程序吗?该应用需要在后台运行,但我们不希望从应用中显示任何屏幕截图。截图可能存在安全风险,请考虑银行应用程序,其中您的卡号或帐户摘要可供双击设备上的主页按钮的任何人使用。有兴趣了解这个吗?谢谢。
3 回答
繁星coding
TA贡献1797条经验 获得超4个赞
这种快速简便的方法将在iOS7或更高版本的应用切换器中生成应用程序图标上方的黑色快照。
首先,获取应用程序的关键窗口(通常在应用程序中的AppDelegate.m中设置:didFinishLaunchingWithOptions),并在应用程序即将移至后台时隐藏它:
- (void)applicationWillResignActive:(UIApplication *)application{ if(isIOS7Or8) { self.window.hidden = YES; }}
然后,当您的应用再次变为活动状态时,取消隐藏应用的关键窗口:
- (void)applicationDidBecomeActive:(UIApplication *)application{ if(isIOS7Or8) { self.window.hidden = NO; }}
此时,请检查应用程序切换器,确认您在应用程序图标上方看到黑色快照。我注意到,如果您在将应用程序移动到后台后立即启动应用程序切换器,可能会有~5秒的延迟,您将看到应用程序的快照(您要隐藏的应用程序的快照!),之后它转换为全黑快照。我不确定延迟是怎么回事; 如果有人有任何建议,请加入。
如果你想在切换台中使用黑色以外的颜色,你可以通过添加一个你喜欢的任何背景颜色的子视图来做这样的事情:
- (void)applicationWillResignActive:(UIApplication *)application{ if(isIOS7Or8) { UIView *colorView = [[[UIView alloc] initWithFrame:self.window.frame] autorelease]; colorView.tag = 9999; colorView.backgroundColor = [UIColor purpleColor]; [self.window addSubview:colorView]; [self.window bringSubviewToFront:colorView]; }}
然后,当您的应用再次变为活动状态时,请移除此颜色子视图:
- (void)applicationDidBecomeActive:(UIApplication *)application{ if(isIOS7Or8) { UIView *colorView = [self.window viewWithTag:9999]; [colorView removeFromSuperview]; }}
- 3 回答
- 0 关注
- 651 浏览
添加回答
举报
0/150
提交
取消