2014-11-25 67 views
0

我想在圖像視圖中使用URL顯示圖像。我嘗試使用這樣的:UIimage可能不會響應「setImageWithUrl」iOS

[cell.avatarImageView.image setImageWithURL:[NSURL URLWithString:@"http://www.innovaworks.com/wp-content/themes/innovaworks/images/home_person.png"]]; 

,但它給了我這樣的警告:

的UIImage可能不響應 「setImageWithUrl」

和圖像未顯示。

+0

您使用的細胞俗? – 2014-11-25 12:26:08

+0

錯誤很自我解釋。 'UIImage'沒有'setImageWithURL:'方法。如果您的某個類別定義了該方法,那麼您需要添加到您的問題中。你的應用程序通常會從這樣的錯誤中崩潰,但我假設image屬性的圖像是「nil」,這就是爲什麼在運行時沒有任何反應。 – 2014-11-25 12:28:21

+0

我使用自定義單元格 – 2014-11-25 12:29:40

回答

2

UIImage沒有方法用url設置圖片。

看到這個答案對於如何從URL中的數據內容設置圖像的完整描述:https://stackoverflow.com/a/2782491/209867

的要點是:

UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.innovaworks.com/wp-content/themes/innovaworks/images/home_person.png"]]]; 

明白,這是同步滾動在UITableView內的表現將是可怕的,你不應該使用這個!我只爲技術的準確性和全面性提供這個答案。

由於它看起來像從某處複製了這段代碼,因此有很多開源類別可以異步加載url中的圖像。

一個這樣的開源項目是SDWebImage。 https://github.com/rs/SDWebImage這是一個廣泛使用的項目,很容易讓你異步從url加載UIImage

+0

不要這樣做。像這樣加載一個URL會在訪問網絡時阻塞主線程。在此期間,您的應用將無響應。顯然是 – 2014-11-25 12:31:05

+0

。請閱讀我的整個答案。 – 2014-11-25 12:34:15

+0

當然。當我評論時,你的回答並不完整:-)你已經編輯它。 – 2014-11-25 12:34:49

0

-setImageWithURL:不是UIImage方法。您想要首先使用NSURLRequest,NSURLSession等(documentation)獲取圖像數據。然後分配一個UIImage並使用構造函數initWithData:。然後使用圖像視圖的setImage:方法進行設置。

0

嘗試

[cell.avatarImageView setImageWithURL:[NSURL URLWithString:@"http://www.innovaworks.com/wp-content/themes/innovaworks/images/home_person.png"]]; 

或者

cell.avatarImageView.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.innovaworks.com/wp-content/themes/innovaworks/images/home_person.png"]]]; 
+0

我的答案重複。 – 2014-11-25 12:31:47

+0

@arbi mahdi ..從你的代碼中移除「.image」..它會工作..否則你的代碼是正確的..這是因爲UIImage沒有setImageWithURL:方法。 :) – 2014-11-25 12:38:10

+0

親愛的尼基塔,你不能給出答案,試試這個或這個或這個或這個,如果有人不工作檢查他人的答案。仍然無法找到然後谷歌......大聲笑 – 2014-11-25 12:44:41

相關問題