создание UIImage из UITableView

Есть ли способ создать UIImage из UITableView ?

Я знаю об этом фрагменте кода, который выведет UIImage из данного UIView :

 -(UIImage*) makeImageOutOfView:(UIView*)view { UIGraphicsBeginImageContext(view.bounds.size); [view.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return viewImage; } 

но это создаст только изображение с размером фрейма таблицы. Я хотел бы создать изображение, которое отобразит содержимое всей таблицы. Другая проблема заключается не только в том, что созданное изображение было ограничено рамкой таблицы, но при создании изображения после прокрутки таблица имела очень странные результаты (только видимые ячейки из первых 6, показанные на изображении, и все это, другие видимые клетки не были нарисованы ..)

EDIT – я хочу создать образ, который был вырван из содержимого таблицыView, а не для того, чтобы фон tableView отображал изображение.

я просто создаю DEMO для вас и надеюсь, что это поможет вам захватить изображение таблицы таким образом:

 -(IBAction)savebutn:(id)sender { [tbl reloadData]; CGRect frame = tbl.frame; frame.size.height = tbl.contentSize.height; tbl.frame = frame; UIGraphicsBeginImageContext(tbl.bounds.size); [tbl.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *saveImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); NSData *imageData = UIImagePNGRepresentation(saveImage); NSFileManager *fileMan = [NSFileManager defaultManager]; NSString *fileName = [NSString stringWithFormat:@"%d.png",1]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName]; [fileMan createFileAtPath:pdfFileName contents:imageData attributes:nil]; } 

Это скриншот снимка: –

введите описание изображения здесь

захватить изображение, содержащее полную ячейку таблицы сверху вниз, загрузите демоверсию: –

http://www.sendspace.com/file/w48sod

Одна вещь, которую вы можете сделать, – создать UIView , добавить все ячейки один ниже другого, который вы хотите в изображении, и, наконец, преобразовать этот UIView в изображение с помощью кода, который у вас есть.

Я думаю, что это должно сработать.

 - (UIImage *)imageWithTableView:(UITableView *)tableView{ UIImage* image = nil; UIGraphicsBeginImageContextWithOptions(tableView.contentSize, NO, 0.0); CGPoint savedContentOffset = tableView.contentOffset; CGRect savedFrame = tableView.frame; tableView.contentOffset = CGPointZero; tableView.frame = CGRectMake(0, 0, tableView.contentSize.width, tableView.contentSize.height); [tableView.layer renderInContext: UIGraphicsGetCurrentContext()]; image = UIGraphicsGetImageFromCurrentImageContext(); tableView.contentOffset = savedContentOffset; tableView.frame = savedFrame; UIGraphicsEndImageContext(); return image; } 

введите описание изображения здесь