gpt4 book ai didi

ios - 如何在 UICollectionView 中查找与特定单元格水平和垂直相邻的单元格/索引路径

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:34:12 25 4
gpt4 key购买 nike

我想知道如何在 UICollectionView 中找到特定(红色)单元格的水平和垂直相邻或周围的单元格/索引路径。

红细胞可以在任何位置。

我可以找到红色单元格的 indexPath,无论它在任何位置。

我附上这个图片文件是为了进一步澄清我的问题。 enter image description here

任何帮助或想法将不胜感激。

最佳答案

算法

假设:

每行有四个单元格。

计算:

  1. int rowCount = 4//一行中的单元格总数。正如您已经描述的那样。
  2. int lastRow = totalCell/rowCount//最后一行数。
  3. int colNo = index % rowCount//列号即这个索引在哪一列
  4. int rowNo = index/rowCount//这个索引在哪一行

算法

1. if `colNo == 0` // cell is the left most.
if `rowNo == 0` // index of first row
adjacent = index + 1, index + rowCount
else if `rowNo == lastRow` // index of last row
adjacent = index + 1, index - rowCount
else
adjacent = index + 1, index - rowCount

2. if `colNo == 1` // cell is the second in its row .
if `rowNo == 0` // index is at first row
adjacent = index - 1, index + 1, index + rowCount
else if `rowNo == lastRow` // index is at last row
adjacent = index - 1 ,index + 1, index - rowCount
else
adjacent = index + 1, index - rowCount, index - 1

3. if `colNo == 2` // cell is the third in row.
if `rowNo == 0` // index of first row
adjacent = index - 1, index + 1, index + rowCount
else if `rowNo == lastRow` // index of last row
adjacent = index - 1, index + 1, index - rowCount
else
adjacent = index + 1, index - rowCount, index - 1

4. if `colNo == 3` // cell is the left most.
if `rowNo == 0` // index of first row
adjacent = index - 1, index + rowCount
else if `rowNo == lastRow` // index of last row
adjacent = index - 1, index - rowCount
else
adjacent = index - 1, index - rowCount

关于ios - 如何在 UICollectionView 中查找与特定单元格水平和垂直相邻的单元格/索引路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41893142/

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