首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >五指捏合(捏到家)黑屏

五指捏合(捏到家)黑屏
EN

Stack Overflow用户
提问于 2014-09-19 15:23:58
回答 1查看 2.6K关注 0票数 0

当用户执行五指捏合手势时,我的应用程序应该做什么(或者它可能正在做错误的操作)来支持正确的视觉效果?

当在我的iPad应用程序上执行关闭应用程序手势的五个手指按压时,用于缩小过渡的应用UI的图像是一个黑色屏幕。有一个例外:当我的应用程序第一次启动时,手势使用我的应用程序UI的正确快照,只要我不从初始屏幕导航。

作为一种测试,我添加了下面的代码,看看在所有情况下我是否能够获得一个红色屏幕。结果是一个红色屏幕的情况下,过去显示我的应用程序UI,仍然得到一个黑色的屏幕在失败的情况下。

  • (void)applicationWillResignActive:(UIApplication *)应用程序{ UIView *aView = UIApplication.sharedApplication.keyWindow.subviews.lastObject;UIImageView *imageView = [UIImageView alloc initWithFrame:aView.bounds];imageView.backgroundColor = UIColor redColor;aView addSubview:imageView;}

我意识到这个问题是模糊的,但我希望的是洞察iOS是从哪里得到它在紧握时使用的屏幕来关闭手势。基于上面的代码,它比applicationWillResignActive更重要。

我正在使用Xcode 5.1.1、iOS 7.0部署目标进行构建,问题出现在iOS7和iOS8上(所有版本到包括8.1的公共发行版)。

编辑

如果我继续收缩动作,进一步捏捏,当我的应用程序的缩略图达到屏幕大小的25%时,空的黑色图像就会截取到我的应用程序UI的正确图像。在这一点上,我可以扭转手势(把手指分开),正确的图像会一直长到全屏。在这个过程中,图像是清晰的,不缩放。

如果我在文本字段中有焦点,用一个手指点击并按住以打开放大镜,然后放下我的其他四个手指并开始收缩,黑色屏幕显示我的UI在一个圆圈中(休息是黑色的)。

正如我在下面的评论中提到的那样,双击home按钮总是能为快速的应用程序切换提供一个正确的快照。

我的应用程序没有运行任何后台线程,也没有请求在后台运行长时间运行任务的特定权限。

EN

回答 1

Stack Overflow用户

发布于 2014-11-15 20:11:16

你的应用程序在任何地方使用-drawViewHierarchyInRect:afterScreenUpdates:YES有什么变化吗?在使用那个API时,我也看到了同样的问题。似乎有很多GPU错误与将afterScreenUpdates设置为YES有关。

改变我的应用程序使用renderInContext (而不是gpu)解决了问题,但这样做会带来其他问题,所以这是一个折腾。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25937332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档