2016-09-30 155 views
1

我有一個集合查看我做了水平滾動。它有3行5列。一旦我啓用水平滾動,單元格將填滿沿列而不是跨行。例如我有一個數組1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,我用它來填充我的集合視圖。細胞看起來像這樣UICollectionView水平滾動 - 單元格排列而不是行

1,4,7,10,13,16 
2,5,8,11,14 
3,6,9,12,15 

我該如何解決這個問題。

回答

0

這是horizo​​ntal的默認行爲。如果您想要以某種方式對數組進行排序,那麼它將以您想要的方式顯示。

像這樣:

var array = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] 
var horizontalSortedArray = [Int]() 
let columns = 5 
let rows = 3 
for i in 0..<columns { 
    for j in 0..<rows { 
     horizontalSortedArray.append(array[j*columns+i]) 
    } 
} 
print(horizontalSortedArray) 
// [1, 6, 11, 2, 7, 12, 3, 8, 13, 4, 9, 14, 5, 10, 15] 

現在,如果你使用這個新陣在水平模式您的數據源,它會顯示這樣的:

1 ,2 ,3 ,4 ,5 
6 ,7 ,8 ,9 ,10 
11,12,13,14,15 
+0

如果我陣列總不是相同行數和列數。因爲我希望收集視圖填滿整行,直到它們已滿。一旦完成,下一行開始,但是當三行已滿時,將形成一個新列,用戶現在可以滾動到一側以查看新列 – user6520705

相關問題