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
我該如何解決這個問題。
我有一個集合查看我做了水平滾動。它有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
我該如何解決這個問題。
這是horizontal的默認行爲。如果您想要以某種方式對數組進行排序,那麼它將以您想要的方式顯示。
像這樣:
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
如果我陣列總不是相同行數和列數。因爲我希望收集視圖填滿整行,直到它們已滿。一旦完成,下一行開始,但是當三行已滿時,將形成一個新列,用戶現在可以滾動到一側以查看新列 – user6520705