Выпустите проблему с UIGraphicsGetImageFromCurrentImageContext - PullRequest
0 голосов
/ 18 сентября 2011

Я пытаюсь преобразовать UIView в UIImage и поместить его в UITableViewCell, используя следующий код (упрощенно):

MyUIView *myView = [[[MyUIView alloc] init] autorelease];
.
.
.
UIGraphicsBeginImageContextWithOptions(myView.bounds.size, YES, 0.0);
[myView.layer renderInContext:UIGraphicsGetCurrentContext()];
cell.imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

Программа аварийно завершает работу с EXC_BAD_ACCESS в MyUIView.

Если я удаляю autorelease из первого оператора, программа не падает, но затем я получаю утечку памяти.

Что я делаю не так?

1 Ответ

0 голосов
/ 18 сентября 2011

Попробуйте это:

MyUIView *myView = [[[MyUIView alloc] init] autorelease];
.
.
.
UIGraphicsBeginImageContextWithOptions(myView.bounds.size, YES, 0.0);
[myView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * myNewImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext();

cell.imageView.image = myNewImage;
...