在iOS上拍摄的屏幕截图不是整个视图

时间:2015-01-05 20:55:55

标签: ios ipad uitextview screenshot

我正在尝试获取UITextView内容的图像,包括屏幕上当前不可见的部分。我完全按照第一个答案中指出的那样做: Getting a screenshot of a UIScrollView, including offscreen parts,但使用UITextView而不是UIScrollView除外。不幸的是,无论我对代码做了什么改变,我总是只得到我的UITextView的一部分,大约是1024x315(我在iPad模拟器上以横向方向测试它)。为什么尺寸如此奇怪,我怎么能按照我的意愿制作?

这就是我保存图像的方式(ResultsView是UITextView的一个实例):

UIImage* image = nil;

UIGraphicsBeginImageContext(ResultsView.contentSize);
CGPoint savedContentOffset = ResultsView.contentOffset;
CGRect savedFrame = ResultsView.frame;

ResultsView.contentOffset = CGPointZero;
ResultsView.frame = CGRectMake(0, 0, ResultsView.contentSize.width, ResultsView.contentSize.height);

[ResultsView.layer renderInContext: UIGraphicsGetCurrentContext()];
image = UIGraphicsGetImageFromCurrentImageContext();

ResultsView.contentOffset = savedContentOffset;
ResultsView.frame = savedFrame;
UIGraphicsEndImageContext();

NSData * data = UIImagePNGRepresentation(image);
UIImageWriteToSavedPhotosAlbum([UIImage imageWithData:data], nil, nil, nil);

0 个答案:

没有答案