2014-02-11 226 views
2

我想知道是否有一種方法來修改UITableView,以便當您滾動過最後一個單元格時,單元格開始重複...並且您可以無限期地滾動以便與相同的單元格一起呈現重複一遍又一遍。理想情況下,這也可以反向運行(如果您向上滾動而不是向下滾動)。無限循環UITableView

我一直沒有找到任何關於這個話題的信息,這讓我覺得它不是做不到或者很難......但是我想我會問這裏是否有人可以幫助我。

+0

你有解決辦法嗎? – abhi1992

回答

0

實際上這是相當微不足道的。

我已經在過去做了什麼達到這樣的效果是:

讓我們假設你有一個的tableView與ň行數。 如果所有線條的尺寸相同,這將有所幫助。我們假設每個高度爲S

您可以實現數據源的方法是這樣的:現在

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 
    return N*1000; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    NSInteger actualRow = indexPath.row % N; 

    // .. do everything using actualRow instead of indexPath.row 

} 

,在您的viewController或者是你已經設置了的tableView與委託和數據源和諸如此類的東西后。補充一點:

[tableView setContentOffset:CGPointMake(0,500*N*S)]; 

基本上你已經創建重複單元的一個非常大的tableView,你讓它在中間開始。你將有500個實例通過頂部和底部,所以你一定不會走到盡頭。由於您將重複使用單元格,因此不會影響性能。