0

いくつかのテーブルセルに多数のデータを入力するときにアプリが欲しいのですが。次に、すべてのデータが一番下のテーブルセルに要約されます。(私はすでにそれをしました)。

私の質問は、一番下のテーブルセルまたは特定のテーブルセルを画像としてPNG形式に具体的にエクスポートするにはどうすればよいですか?

私はプリントスクリーンを使ってみましたが、それはそれほど良くなく、デバイスの量が異なります。そのセルのみをエクスポートできるコードはありますか?

ありがとう

4

1 に答える 1

4
// Specify your index path
NSUInteger index[] = {0, 1}; // section, row
NSIndexPath *indexPath = [[NSIndexPath alloc] initWithIndexes:index length:2];

// Get the cell
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];

// Render a graphics context to turn your cell into a UIImage
CGSize imageSize = cell.bounds.size;
UIGraphicsBeginImageContext(imageSize);
CGContextRef imageContext = UIGraphicsGetCurrentContext();
[cell.layer renderInContext:imageContext];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

// Save the image as PNG
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [paths objectAtIndex:0];
NSString *dest = [docDir stringByAppendingPathComponent:@"image.png"];
[UIImagePNGRepresentation(image) writeToFile:dest atomically:YES];

編集

セルのより正確なスナップショットを取得するには、セルのcontentViewプロパティを使用できます。

[cell.contentView.layer renderInContext:imageContext];
于 2013-02-01T13:43:04.237 に答える