gpt4 book ai didi

ios - UICollectionView - 水平排列单元格

转载 作者:可可西里 更新时间:2023-11-01 05:40:48 31 4
gpt4 key购买 nike

所以基本上我的问题是我的 uicollectionview 的单元格是从上到下排序的,而不是从左到右排序的。

This is what it looks like -
[1][4][7]
[2][5][8]
[3][6][9]

This is what i want -
[1][2][3]
[4][5][6]
[7][8][9]

另一个问题是当我水平滚动而不是将页面移动整整 320 点时。它只移动到适合 View 中的下一个单元格。

this is what it looks like -
[2][3][10]
[5][6][ ]
[8][9][ ]

this is what i want -
[10][ ][ ]
[ ][ ][ ]
[ ][ ][ ]

我希望水平渲染它可以修复它。我还是 ios 的新手,所以请告诉我如何操作,我搜索的所有 tuts 都不是针对我的确切问题或已过时。

最佳答案

这是我的解决方案,希望对您有所帮助:

CELLS_PER_ROW = 4;
CELLS_PER_COLUMN = 5;
CELLS_PER_PAGE = CELLS_PER_ROW * CELLS_PER_COLUMN;

UICollectionViewFlowLayout* flowLayout = (UICollectionViewFlowLayout*)collectionView.collectionViewLayout;
flowLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
flowLayout.itemSize = new CGSize (size.width / CELLS_PER_ROW - delta, size.height / CELLS_PER_COLUMN - delta);
flowLayout.minimumInteritemSpacing = ..;
flowLayout.minimumLineSpacing = ..;
..

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView
cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
NSInteger index = indexPath.row;
NSInteger page = index / CELLS_PER_PAGE;
NSInteger indexInPage = index - page * CELLS_PER_PAGE;
NSInteger row = indexInPage % CELLS_PER_COLUMN;
NSInteger column = indexInPage / CELLS_PER_COLUMN;

NSInteger dataIndex = row * CELLS_PER_ROW + column + page * CELLS_PER_PAGE;

id cellData = _data[dataIndex];
...
}

关于ios - UICollectionView - 水平排列单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28389218/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com