我在我的應用程序中有一個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