UICollectionView水平滚动 - 将单元格排序为列而不是行

时间:2016-09-30 16:17:04

标签: ios swift uicollectionview

我有一个集合视图,我做了水平滚动。它有3行5列。一旦我启用了水平滚动,单元格就会向下填充,而不是跨越行。例如,我有一个数组1,2,3,4,5,6,9,9,10,11,12,13,14,15,16,我用来填充我的集合视图。细胞看起来像这样

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

我该如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

这是水平的默认行为。如果你想要,你可以用某种方式对数组进行排序,这样它就会以你想要的方式显示。

像这样:

        app.Use(next => context =>
        {
            if (context.Request.Path.Value.Length <= 1)
            {
                var builder = new UriBuilder(context.Request.Scheme, "www.plaMobi.com");
                context.Response.Redirect(builder.ToString(), true);
            }
            return next(context);
        });

现在,如果您在水平模式下使用这个新数组作为数据源,它将显示如下:

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]