我有一个视图控制器,它有4个选项卡(一些选项卡包含其中包含多个视图的scrollview)。我需要将选项卡的所有内容保存为4张图片。我设法让每个标签给我一个UIImage
给我保存。然而我发现了一个问题,如果我没有点击标签栏(也就是说没有手动加载它们并在屏幕上显示它们),标签不能返回一个图像,因为它们没有视图参考。所以我的问题是,我是否预加载了标签视图?如果是这样,怎么样?
如果不是预加载,是否有更好的解决方法?
我的部分代码:
View Controller使用它来分享:
UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:@[shareText,[_summaryViewController getImageToShare],[_sessionLogViewController getImageToShare] ,[_breakdownViewController getImageToShare],[_skillsViewController getImageToShare]] applicationActivities:nil];
getImageToShare
:
-(UIImage*) getImageToShare
{
UIImage *image = nil;
UIGraphicsBeginImageContextWithOptions(self.scrollView.contentSize, NO, 0.0);
{
CGPoint savedContentOffSet = self.scrollView.contentOffset;
CGRect savedFrame = self.scrollView.frame;
self.scrollView.contentOffset = CGPointZero;
self.scrollView.frame = CGRectMake(0, 0, self.scrollView.contentSize.width, self.scrollView.contentSize.height);
[self.scrollView.layer renderInContext:UIGraphicsGetCurrentContext()];
image = [ViewToImage ImageWithView:self.scrollView];
self.scrollView.contentOffset = savedContentOffSet;
self.scrollView.frame = savedFrame;
}
UIGraphicsEndImageContext();
if (image != nil) {
NSLog(@"there is something returned:%@",image);
}else
NSLog(@"nothign is returned");
return image;
}
答案 0 :(得分:0)
Nvm,我想通了,我只需要创建选项卡的副本,然后让它们不动画,只显示数据。然后预加载它们并使用它们的图像。