2011-12-16 30 views
0

所以,我目前有一個GridView類,這實際上是它聽起來像。它是UIView的一個子類,它有一個臨時區域,其中有一堆子視圖以網格狀方式放置。目前我將GridView放置在筆尖的UIScrollView中。當GridView加載時,它必須立即加載所有子視圖,即使是不可見的子視圖。如何實現自定義的UIView與子視圖的懶惰/動態加載,類似於UITableView

例如,如果我有一個包含5列和500行的網格,它將一次加載全部2500個視圖,如您所想,需要很長時間。我想實現它,以便它只加載可見的視圖,並且隨着用戶滾動,加載新的視圖。這與UITableView如何加載其單元格相似。

我認爲它會遵循與UITableView相同的模式,但我不太確定如何開始。任何人有任何指針/提示?

在此先感謝

回答

1

您知道每個網格單元格的大小。我假設你正在實現UIScrollViewDelegate方法,所以當滾動發生時你可以收到一條消息。因此,一旦得到-(void)scrollViewDidScroll:(UIScrollView *)消息,計算可見單元格,並加載單元格進入視圖的視圖。

更好的是,就像在UITableView一樣,回收您的單元格視圖。當單元格離開視圖(頂部或底部)時,請使用視圖外的單元格來顯示新單元格。

看看UITableView類的ivars和方法,並考慮模仿該行爲和實現。