使用UIGraphicsGetImageFromCurrentImageContext发布问题

时间:2011-09-17 21:25:30

标签: iphone xcode uiview memory-leaks uiimage

我正在尝试将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();

该计划因MyUIView中的 EXC_BAD_ACCESS 而崩溃。

如果我从第一个语句中删除了自动释放程序,程序不会崩溃但是我会收到内存泄漏。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

试试这个:

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;