Экспорт настроенных UITableViewCells в UIImage - PullRequest
2 голосов
/ 12 ноября 2010

У меня есть UITableView с набором UITableViewCell с - каждая из ячеек содержит UIView, который показывает некоторую графику в контексте. Как лучше всего экспортировать эти ячейки в одну UIImage?

Спасибо

edit 1: Я знаю, как создать изображение из видимой области таблицы, но эта таблица прокручивается за пределы экрана, и я хотел бы создать UIImage всех ячеек, а не только тех, которые вы видите .

1 Ответ

3 голосов
/ 13 ноября 2010

Вы должны быть в состоянии сделать это, сказав, чтобы слой представления рисовался в пользовательском графическом контексте, а затем создал растровое изображение CGImage из этого контекста.Получив CGImage, вы можете создать из него UIImage.Это будет выглядеть примерно так:

// Create a bitmap context.
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef bitmapContextForCell = CGBitmapContextCreate(nil, cell.bounds.size.width, cell.bounds.size.height, 8, 0, colorSpace, kCGImageAlphaNone);
CGColorSpaceRelease(colorSpace);

// Draw the cell's layer into the context.
[cell.layer renderInContext:bitmapContextForCell];

// Create a CGImage from the context.
CGImageRef cgImageForCell = CGBitmapContextCreateImage(bitmapContextForCell);

// Create a UIImage from the CGImage.
UIImage * cellImage = [UIImage imageWithCGImage:cgImageForCell];

// Clean up.
CGImageRelease(cgImageForCell);
CGContextRelease(bitmapContextForCell);

Вот как создать изображение для каждой ячейки.Если вы хотите создать одно изображение для всех ваших ячеек, используйте представление таблицы вместо ячейки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...