2016-03-11 61 views
0

我有一個遊戲,我需要一個字母連續滾動,並循環一組數據(A, D, X, S, R, P, F, G, H, Y, W, M)(像這樣:https://www.youtube.com/watch?v=z3rO8TbkS-U&feature=youtu.be)。當用戶點擊一個字母時,該字母需要從該板上移除。我不能停止滾動,它需要不斷滾動。製作一個UICollectionView不斷滾動

我不確定如何做到這一點。我一直在試圖用UICollectionView來做到這一點,但我不確定如何做到這一點。

任何幫助將不勝感激!謝謝:)

回答

6

收集視圖中的無限滾動可以用一個非常簡單的技術來實現。

1)在numberOfItemsInSection方法的collection視圖中返回一個巨大數字。

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int{ 

    return Int(INT_MAX) 
} 

2)使用您的數組或字典的數量來模數收集視圖中的項數,無論您用於獲取重複數據。

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell{ 

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: 
       cellIdentifier, for: indexPath) 
    let displayText = indexPath.row % 10 
    cell.displayLabel.text = String(displayText) 
    return cell 

} 

這裏我沒有數據,因此我使用indexPath.row在我的標籤中顯示行號。

假設我有10個數據要顯示,目前我有大量的項目,所以我模數10與當前項目的編號。你可以用你的數組或字典的行數來對這一行進行模數如下:

let displayText = aryData.count % 10 

下面是這段代碼的輸出。

Infinite Scrolling Collection View

希望這將幫助你:)

+0

謝謝!有關如何使collectionView在沒有用戶滑動的情況下自動滾動的任何想法? – mlevi

+0

如果你想在不讓用戶滑動的情況下執行滑動操作,那麼我想你應該使用NSTimer創建一個計時器並調用你在用戶滑動時調用的方法。如果您懷疑使用NSTimer,請告訴我。我可能是錯的,但這可能會工作:) –

+0

該鏈接不再有效。這就是爲什麼你總是應該把解決方案粘貼在你的答案中 - 而不僅僅是鏈接。 – Tander