从UIView截屏(UIImage)花费的时间太长

格奥尔格

我有以下方法来拍摄速度太慢的UIView的屏幕快照(UIImage)

+ (UIImage *)imageWithView:(UIView *)view
{
  CGSize size = view.bounds.size;

  UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);
  CGContextRef context = UIGraphicsGetCurrentContext();

  [view.layer renderInContext:context];
  UIImage * image = UIGraphicsGetImageFromCurrentImageContext();

  UIGraphicsEndImageContext()

  return image;
}

在我的iPad上,我现在有一个应用程序,该应用程序需要此方法来制作拖放视图的副本。该视图是一个带有圆角的视图,因此不是不透明的(这与我将isOpaque参数设置为我发现的YES没什么区别)...屏幕快照的视图还包含一个UITableView,其中包含很多复杂的条目。它...

您对我如何提高屏幕截图的速度有任何建议吗?现在,对于较大的tableview(可能是20个条目),大约需要1秒钟(!!!),并且视图已经在屏幕上,可以正确呈现...所以我只需要Pixels即可进入UIImageView ...

我需要支持iOS 6+。

乔迪·科斯科拉(Jordi Coscolla)

我使用相同的代码来截取一个非常复杂的视图的屏幕截图。我认为您的瓶颈正在为拖放操作使用大图像。也许您可以调整UIImage的大小。

就我而言,iPad2的屏幕截图性能约为100毫秒。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章