我有一个UIScrollView
的子类,实现了一个名为takeScreenshot的方法,代码如下:
-(void)takeScreenshot {
CGRect contextRect = CGRectMake(0, 0, 768, 1004);
UIGraphicsBeginImageContext(contextRect.size);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// do something with the viewImage here.
}
这基本上是将滚动视图移动到顶部,并截取可见区域的屏幕截图。当iPad竖向时,它可以正常工作,但在横向时,图像底部被切断了(因为可见区域的高度只有748,而不是1004)。
是否可能获取UIScrollView
的整个快照,包括不在屏幕上的区域?或者我需要向下滚动视图,拍第二张照片再将它们拼接在一起?
UIGraphicsBeginImageContextWithOptions(this.contentSize, false, 0)
。 - RyanG