繁体   English   中英

收藏集视图布局

[英]Collection View layout

是否可以创建带有收藏夹视图的三栏式报纸布局?

我尝试使用3个表视图,它可以工作,但是非常落后。 因此,如果集合视图是本机解决方案,我认为最好使用它们。 它们适合我的任务吗?

主要问题是所有单元格都是从左到右填充的:

1 2 3
4 5 6

我需要:

1 5 9
2 6 10
3 7 11
4 8 12

是的,我认为collectionview将适合您的需求。 您可能必须使用自定义布局。 在WWDC 2012视频中查看“ collectionviews简介”和“ collection view的高级布局”。 通过使用自定义布局,您可以按自己喜欢的方式对单元进行排序。

我建议您重新排序数据源。

编辑:

NSArray *oldArr = @[@"1", @"2", @"3", @"4", @"5", @"6", @"7", @"8", @"9", @"10", @"11"];
NSMutableArray *newArr = [NSMutableArray arrayWithCapacity:oldArr.count];

int row = ceilf(oldArr.count / 3.f);
int remainder = oldArr.count % 3;

for (int i = 0; i < row; i++) {
    [newArr addObject:[oldArr objectAtIndex:i]];

    if (i == (row - 1) && remainder == 1)
        continue;

    [newArr addObject:[oldArr objectAtIndex:i + row]];

    if (i == (row - 1) && remainder == 2)
        continue;

    [newArr addObject:[oldArr objectAtIndex:i + row * 2]];
}

结果:

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, = > 1, 5, 9, 2, 6, 10, 3, 7, 11, 4, 8

格式化打印:

1  2  3
4  5  6
7  8  9
10 11

to

1  5  9
2  6  10
3  7  11
4  8

您可以将滚动方向更改为水平。 这样一来,您就可以按自己的意愿对其进行排序,而滚动则最有意义。

如果要通过垂直滚动进行此操作,则必须编写自己的UICollectionViewFlowLayout子类。 但这会使用户体验真的很差。

好的,我已经完成了3表格视图布局的修复。 我不是通过XIB加载单元,而是通过编程方式创建的。 这使我的性能大大提高。 谢谢你们的答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM