2009-12-31 66 views
7

我使用NSUrlConnection爲我的UITableView實現了惰性圖像加載。這一切都非常好。當我打開桌子時,當我等待一秒鐘(在3G上)時,我會自動獲取圖像。但是,當我滾動時,表格會加載新單元格,啓動NSURLConnections,但是當圖像加載完成後(代碼中),它們不會放入視圖中,直到表格停止滾動。UITableView惰性圖像加載,圖像出現在表格STOPS滾動後

Youtube應用程序能夠將圖像加載到WHILE滾動的表格中,我也想這樣做,任何提示/指針?

+0

我也想聽到這個答案。 順便說一句你裝載每個圖像在一個單獨的線程?如果我滾動到快速,任何想法,我會崩潰? – natanavra 2010-01-03 19:41:06

+0

我不使用線程(至少,不是顯式的),我使用NSURLConnection initWithRequest:代理異步工作.. – StijnSpijker 2010-01-04 11:21:27

回答

9

看看蘋果公司的例子LazyTableImages

如果您異步請求表格的所有圖像,它們會在到達時加載。

你會注意到一些應用程序等待scrollViewDidEndDraggingloadImagesForOnscreenRows是真正的懶惰,並且只請求用戶正在檢查的行的圖像。

+2

實際上,這個例子工作得更糟,那麼我的,因爲它只啓動線程加載圖像時,錶停止滾動(即使它進入視圖時也不會)。我會看看他們如何進行線程化。雖然我當前的應用程序在進入時加載行,並在滾動圖像時停止它們。唯一的問題是它們沒有插入到表中,直到錶停止滾動,我不完全知道爲什麼。我認爲,即使我的圖像加載是異步發生的,它並不是真的在單獨的線程中,因此它會等待錶停止滾動。 – StijnSpijker 2010-01-04 11:17:07

+0

的確如此,但我發現樣品做得非常好。通過微小的調整,我得到了很好的工作。 – Echilon 2011-12-31 15:16:37