2012-06-06 163 views
0

在我的iPad應用程序中,我有一個滾動視圖,列出了20個視頻相冊的圖像。服務器將發送20個圖像的列表。
現在,當用戶到達滾動視圖結束時,我必須發送請求以獲取下10個視頻詳細信息。
獲取數據後,我想將它們添加到最後的滾動視圖。但我想在開始時刪除10個視頻。因此,滾動視圖一次只能顯示20個視頻細節。
當用戶再次滾動到最後,我會發送請求到服務器,獲取下10個視頻細節,並將它們添加到滾動視圖,從滾動視圖中移除10個開始視頻細節......以及用戶滾動時類似到一開始,我會抓取10個以前的視頻並重復相同的操作。
在這裏,我想確保滾動必須平滑,並且不想在滾動視圖中閃爍。可以有人建議有更好的滾動視圖編碼來達到我的要求嗎?ios - 使UIScrollView平滑滾動

回答

0

真正的問題在於設置細胞回收。這並不難,我有幾個例子可以看,其中一個是here。您需要對該代碼進行一些更改,當然這是在「頁面」中設置的 - 在任何時候屏幕上都只有一個視圖,我不認爲這就是您想要的。

除了...

你這裏的關鍵部分將在設計中,允許刪除舊項目的方式你的數據源,並增加新的項目,不跳過的項目。

例如,我可能會採取的方法是在滾動視圖中渲染「最後」項,就像您希望滾動視圖中的第一項一樣。當用戶到達最後一個項目時,將內容偏移量設置爲沒有動畫的滾動視圖的開始位置(實際上沒有嘗試過,所以可能會出現一個你不想要的抖動,測試它並查看)。這會給無盡滾動的外觀。您的數據源只會在添加新項目時覆蓋舊索引,而不是添加到數組的末尾。

0

如果您以網格視圖的形式呈現,我建議您看看AQGridView。該網格視圖支持單元排隊和出隊,這完全符合你描述的內容。

您也可以使用委託方法scrollViewDidScroll:來確定您是否位於滾動視圖的底部並觸發下一組相冊的下載。

2

如果您的代碼包含scroll.pagingEnabled = YES;那麼請刪除這部分代碼。 它肯定會奏效。