我試圖從網站加載圖像到桌面視圖。我可以加載存儲在項目中的圖像,但無法從網絡獲取圖像。我知道我在這裏失去了一些東西。有任何想法嗎?從網站加載圖像到桌面視圖
UIImage *cellImage = [UIImage imageNamed:
@"http://www.website.com/thumbs/img_10.jpg"];
cell.imageView.image = cellImage;
任何幫助將是偉大的!謝謝!
我試圖從網站加載圖像到桌面視圖。我可以加載存儲在項目中的圖像,但無法從網絡獲取圖像。我知道我在這裏失去了一些東西。有任何想法嗎?從網站加載圖像到桌面視圖
UIImage *cellImage = [UIImage imageNamed:
@"http://www.website.com/thumbs/img_10.jpg"];
cell.imageView.image = cellImage;
任何幫助將是偉大的!謝謝!
您可以使用它像這樣:
NSURL *imageURL = [NSURL URLWithString:@"http://www.gravatar.com/avatar/53789a67f8fffd8ede2ea118165ff962?s=32&d=identicon&r=PG"];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
UIImage *cellImage = [UIImage imageWithData:imageData];
但同步使用這種方式將阻止你的UI獲得的圖像。你最好異步獲取圖像。發送請求並在獲取圖像後,使用請求委託方法更新您的UI。
謝謝@sunkehappy,你給我的代碼有效,但我不確定如何異步獲取圖像。我擁有所有的單元格數據,包括存儲在JSON數組中的圖像的URL。你給我的代碼工作,但它有點慢,並導致tableview非常「粘性」。有任何想法嗎?謝謝! – Brandon
http://developer.apple.com/library/ios/#samplecode/LazyTableImages/Introduction/Intro.html。你見過這個項目嗎?它使用'NSURLConnection',你可以使用它或其他庫如ASIHTTPConnection或RestKit。 – sunkehappy
試試這個:
NSData *imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"give your url hrere."]];
UIImage *image = [UIImage imageWithData:imageData];
cell.imageView.image =image;
見LazyTableImages示例應用程序。它顯示瞭如何從Internet正確加載圖像並將它們放入表格單元格中。 – rmaddy
謝謝@rmaddy,我將以JSON格式返回tableview的所有其餘內容,是否有一種「lazier」的方式來做到這一點,因爲我把URL從JSON的圖像拉到圖像? – Brandon
您必須使用Web請求自己加載圖像數據(或使用其中一個URL函數)。您無法使用帶有imageNamed:的網址。 – dcow