我在我的应用程序中有一个UITableView,我必须加载一些固定宽度但高度不同的图像。我使用NSOperationQueue下载图像异步,并调整大小和裁剪我尝试使用Jane Sales在此帖子link text提供的解决方案。在显示在UITableViewCells之前调整大小和裁剪图像
我做了一个自定义的UITableViewCell类,并在其中有一个方法,当排队的操作完成下载图像时调用。该方法被正确调用并显示图像。当我尝试使用Jane提出的方法调整图像大小时,会出现问题。当它到达[sourceImage drawInRect:thumbnailRect];我收到一个exec访问错误,我找不出原因。我所说的方法是这样的:
- (void) setupImage:(UIImage *) anImage{
UIImage *resized = [anImage imageByScalingAndCroppingForSize:CGSizeMake(64, 59)];
if(resized == nil)
resized = [UIImage newImageFromResource:@"thumb2.png"];
[thumbnailView setImage:resized];
}
setupImage是调用的函数时NSOperationQueue完成anImage的下载操作。
有人能给我一个线索,为什么当我尝试调整大小和裁剪图像时,为什么我收到执行不良访问错误?我尝试在表格视图外使用相同的功能。 80%的情况下,但有些情况下,当我收到相同的执行不良访问错误。
谢谢你在前进, 索林
好奇的是,当我在模拟器中测试应用程序时,不会引发exec访问错误。当我在iPhone 3G上测试时,它会在尝试调整大小和裁剪时引发错误。 – 2009-09-02 12:29:46
无法真正帮助您调整大小和裁剪代码.. – Daniel 2009-09-02 13:39:39
我建议您将图像保存在应用程序的沙箱中。我认为在UITableViewCell中动态地裁剪图像是相当昂贵的。 – runmad 2009-09-02 15:31:29