将所有的UITableView保存为图片,因为UITableView只能保存显示当前,所以,就单个保存后,合并为一张图片
代码如下:
01 -(IBAction)savePic:(id)sender 02 03 { 04 05 //支持retian高分辨率 06 07 UIGraphicsBeginImageContextWithOptions(self.view.frame.size, YES, 0.0); 08 09 float curH = mTableView.contentSize.height; 10 11 UIImageView *allView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, curH)]; 12 13 for (float f = 0; f < curH; f+=460) 14 15 { 16 17 mTableView.contentOffset = CGPointMake(0, f); 18 19 [self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; 20 21 UIImageView *imgV = [[UIImageView alloc]initWithImage:UIGraphicsGetImageFromCurrentImageContext()]; 22 23 imgV.frame = CGRectMake(0, f, 320, 460); 24 25 [allView addSubview:imgV]; 26 27 [imgV release]; 28 29 } 30 31 UIGraphicsEndImageContext(); 32 33 //保存图片 34 35 UIGraphicsBeginImageContextWithOptions(allView.frame.size, YES, 0.0); 36 37 [allView.layer renderInContext:UIGraphicsGetCurrentContext()]; 38 39 UIImage *img = UIGraphicsGetImageFromCurrentImageContext(); 40 41 UIGraphicsEndImageContext(); 42 43 [allView release]; 44 45 [UIImagePNGRepresentation(img) writeToFile:@"/users/test/desktop/font.png" atomically:YES]; 46 47 }