我正在創建一個iOS應用程序,用於獲取網站上顯示的圖像列表並將它們顯示爲屏幕上的圖像(類似於顯示圖像中的圖像圖書館)。我可以在UIImageView中顯示來自URL的單個圖像,但是當從網站上顯示完整圖像列表時,我無能爲力。任何幫助正確的方向或任何有用的教程將不勝感激。從網站獲取圖像列表並顯示它
回答
這個問題有兩個部分。我會給你一個快速的迴應。
1:下載圖像
這可能是直線前進的使用+ arrayWithContentsOfURL列表:如果你有超過你的網站的完全控制。確保分發下載以避免阻塞UI線程。
NSURL *URL = self.URLOfImages;
dispatch_queue_t dispatch = dispatch_queue_create("fetch.images", NULL);
dispatch_async(dispatch, ^{
NSArray *images = [NSArray arrayWithContentsOfURL:URL];
dispatch_async(dispatch_get_main_queue(), ^{
self.images = images;
});
});
dispatch_release(dispatch);
注:URL必須返回的NSArray和self.images預期必須通知,它需要重新加載本身即視圖的確切格式。 [self.tableView reloadData]
。
如果您對URL的控制較少,則需要使用類似NSURLRequest的方式創建請求,使用類似NSURLConnection的方式獲取數據,然後解析出響應中的圖像列表以創建圖像數組。
在更復雜的情況下,將涉及分頁。這隻需要下載一些列表,然後需要更多的圖像請求更多的圖像。
2:顯示圖像
列表這可能是因爲使用與使用UITableViewCellStyleDefault樣式UITableViewCells一個UITableView一樣簡單,然後設置在每個小區中的ImageView的屬性。
爲了更好地瞭解您可以編寫的圖像,請使用從UITableViewCell分類的自定義表格視圖單元格。這將允許您使用圖像的自定義位置,並將圖像的大小設置爲您想要的大小。
在一個更復雜的塞納里奧,你可以創建一個包含一個UIScrollView,你將使所有的形象透視。
謝謝Jeffery,有一件事我不明白。完全控制網站是什麼意思? – Waqar
您可以在服務器上創建新的URL,並且可以控制從這些URL返回的內容類型,數據和格式。對於+ arrayWithContentsOfURL:要工作,您需要URL來返回格式正確的plist(請參閱:[瞭解XML屬性列表](https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/PropertyLists /UnderstandXMLPlist/UnderstandXMLPlist.html))。返回的plist無法以任何方式進行包裝,編碼或轉義。 –
我會設置一個Web服務來刮擦這個「列表」(假設您實際上沒有內部訪問服務器)。我會建議使用libcurl和PHP來獲取列表。
http://www.sitepoint.com/own-web-service-php-xml-rpc/
然後以JSON格式吐出列表,並解析它使用可用庫到iOS:
(可能需要查看進行了哪些最新進展有關JSON解析,我似乎記得關於這個特定話題的一些事情在近代史上經歷了變化)。
上的libcurl和PHP官方文檔:
http://php.net/manual/en/book.curl.php
(採取從上面的StackOverflow問題):
更新答案爲iOS 5:
JSON支持現在使用NSJSONSerialization原生iOS,但在 的性能方面,它比較淡化到JSONKit。
我建議你使用JSONKit而不是NSJSONSerialization。
另請注意,如果您在設備上執行此操作,則必須將網站置於白名單中,否則iOS將無法訪問它。 –
謝謝。事實上它不在設備上工作。我試圖在互聯網上搜索,但我無法找到任何參考如何我可以在白名單中添加URl。你能否引導我或指點我一些教程或什麼? – Waqar
- 1. 從XMLHttpRequest獲取圖像並顯示它
- 2. 從網站獲取圖像
- 3. 從網站獲取圖像
- 4. 我試圖從網站獲取圖像列表,並將它們保存到硬盤,但它不起作用
- 5. 獲取網站截圖,並用它在圖像標籤
- 6. 從api獲取圖像並在UIImageView中顯示它們swift
- 7. java servlet:從url獲取圖像並顯示它
- 8. 使用json獲取圖像並在列表視圖中顯示
- 9. 從網頁獲取圖像並顯示(Windows Phone)
- 10. 使用Synapse從網絡獲取圖像並進行顯示
- 11. 從遠程站點獲取圖像並使用PHP顯示較小的圖像
- 12. setImageURI/setimagebitmap從網絡中獲取圖像並在圖像視圖中顯示
- 13. 的Django/Python從URL並顯示獲取的圖像上獲得相應的URL的圖像網站
- 14. 讀取圖像文件,並顯示它
- 15. 從網站獲取驗證碼圖像
- 16. 如何從其他網頁獲取圖片並在我的網站上顯示
- 17. 如何從Firebase獲取圖像路徑,從Firebase存儲獲取圖像並顯示它?
- 18. 從網站加載圖像並在collectionview中顯示
- 19. 從網站提取圖像
- 20. 通過API調用從網站獲取網站並向用戶顯示
- 21. 從一個網站獲取數據並將其顯示在另一個網站
- 22. 從網站獲取文本並將其顯示回
- 23. 從SQLite獲取信息並在列表視圖中顯示
- 24. 從Facebook獲取名稱並在列表視圖中顯示
- 25. 從當前網站獲取列表項
- 26. 無法從網站獲取列表值
- 27. Android:從網絡下載圖像並在gridview上顯示它們
- 28. 顯示從jsoup網站抓取的圖像
- 29. 從網址獲取文本並顯示它(幾乎可行)
- 30. 用PHP獲取遠程圖像並用GD顯示它
劑量的圖像已經ID's自己的自定義視圖? (使用螢火蟲或Opera蜻蜓檢查) –