我正在使用标准代码来获取scrollview的完整屏幕截图。它适用于大多数情况。但是,我有一个UICollectionView,它使用AFNetworking的setImageWithURL来检索图像。我希望用户能够在显示所有图像的情况下打印或通过电子邮件发送整个内容。问题是,如果用户没有滚动屏幕外图像,则丝网印刷总是显示占位符"未找到图像"图片。
我的代码:
UIGraphicsBeginImageContext(scrollView.contentSize);
{
CGPoint savedContentOffset = scrollView.contentOffset;
CGRect savedFrame = scrollView.frame;
scrollView.contentOffset = CGPointZero;
scrollView.frame = CGRectMake(0, 0, scrollView.contentSize.width, scrollView.contentSize.height);
if ([self respondsToSelector:@selector(drawViewHierarchyInRect:afterScreenUpdates:)])
[scrollView drawViewHierarchyInRect:scrollView.frame afterScreenUpdates:NO];
else
[scrollView.layer renderInContext:UIGraphicsGetCurrentContext()];
image = UIGraphicsGetImageFromCurrentImageContext();
scrollView.contentOffset = savedContentOffset;
scrollView.frame = savedFrame;
}
UIGraphicsEndImageContext();
我已经尝试让线程进入睡眠状态"等待"为图像加载,但没有工作。想法会很感激。谢谢!