gpt4 book ai didi

ios - UICollectionView 水平滚动,数据从左向右流动

转载 作者:行者123 更新时间:2023-11-28 22:06:12 27 4
gpt4 key购买 nike

我在这里看到了一个有点类似的问题:Reorder cells of UICollectionView .但是,解决方案涉及重写 UICollectionViewFlowLayout 以重新排列单元格。但就我而言,我不想对单元格重新排序,而只是相应地转换数据源。

我正在创建一个水平滚动的 UICollectionView。默认情况下,项目从上到下排序:

cell1  cell4  cell7  cell10
cell2 cell5 cell8 cell11
cell3 cell6 cell9 cell12

我对细胞的物理流动没意见。但是,我希望我的数据从左向右流动:

data1  data2  data3  data4 
data5 data6 data7 data8
data9 data10 data11 data12

简单地使用 indexPath.item 来确定要使用的数据是行不通的。我必须以某种方式“转换”索引。例如,要显示 cell2 的内容,我需要使用 data5,而不是 data2。

类似的东西:

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {

NSInteger index = //Use proper index based on transformed indexPath.item, instead of just indexPath.item
NSDate *cellDate = [self.dateArray objectAtIndex:index]
...
}

关于如何进行这种转变有什么想法吗?

最佳答案

弄清楚怎么做:

 -(NSDate*)cellDateBasedOnIndexPath:(NSIndexPath*)indexPath {
NSInteger row = indexPath.item % NUMBER_OF_ROWS + 1;
NSInteger column = indexPath.item/NUMBER_OF_ROWS + 1;
NSInteger itemIndex = row * NUMBER_OF_COLUMNS - (NUMBER_OF_COLUMNS - column) - 1;

//Use itemIndex to index through the data source...

}

关于ios - UICollectionView 水平滚动,数据从左向右流动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23895282/

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