最近有这么一个需求:需要将UIScrollview上全部内容转换为一张图片,然后分享第三方平台。这就涉及到屏幕之外的部分也要成为图片的一部分。用tableview作为例子,scrollview也同样使用。总结一下学到的:
核心代码:
UIGraphicsBeginImageContextWithOptions(self.tableView.contentSize, NO, 0.0);
CGPoint savedOffset = self.tableView.contentOffset;
CGRect savedFrame = self.tableView.frame;
self.tableView.contentOffset = CGPointZero;
self.tableView.frame = CGRectMake(0, 0, self.tableView.contentSize.width, self.tableView.contentSize.height);
CGContextRef context = UIGraphicsGetCurrentContext();
[self.tableView.layer renderInContext:context];
image = UIGraphicsGetImageFromCurrentImageContext();
self.tableView.contentOffset = savedOffset;
self.tableView.frame = savedFrame;
UIGraphicsEndImageContext();