在屏幕更新后调用drawViewHierarchyInRect时出现iOS8缩放故障:YES

glu*_*ued 15 screenshot ios ios8

我正在将一个项目从iOS7转换为iOS8,它使用自定义转换,需要在完成加载后捕获模态,afterScreenUpdates:YES并且看到整个屏幕缩放一秒钟并缩小比例.在iOS8上转换为照片时,我也会在部分和Yelp应用程序之间的iOS版Flickr应用程序中看到这种情况.

  UIGraphicsBeginImageContextWithOptions(self.view.frame.size, YES, 22.0); 
  [self.view drawViewHierarchyInRect:self.view.frame afterScreenUpdates:YES];
  UIGraphicsEndImageContext();
Run Code Online (Sandbox Code Playgroud)

添加更大的比例因子有助于更多地强调故障......但我只是在示例中按下按钮.

编辑这似乎发生在iPhone 6和6加上而不是5.

规模故障

示例项目github

Jan*_*odt 13

屏幕更新后你需要它绘制吗?因为我正在使用:

[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:NO];
Run Code Online (Sandbox Code Playgroud)

它似乎在iOS7和iOS8上运行良好.我想这不是一个定期捕捉图像的好方法(比如每秒多次),但它似乎适用于一次性模糊.


小智 5

您必须为6和6 plus提供@ 3x启动图像.6缩放为750x1334,6和正图像缩放为1242x2208.


glu*_*ued 0

似乎已在 iOS9 / XCODE 7 版本中修复