所以,我有一个 tvOS 应用程序,其中有一个 UICollectionView。我能够使用 以下委托(delegate)回调到下一个焦点单元格的 IndexPath。
override func collectionView(didUpdateFocusIn context: ...)
CollectionView 有一个 Section 和 n 个落入其中的单元格。因此,当我得到 [0,8]
的 IndexPath 时,所有这些都告诉我它是从左数第 9 项。但是,第一行只有 8 个单元格,因此实际上它是第二行左侧的第一项。
我如何确定它实际呈现在哪一行?
最佳答案
你能展示你的代码、行为和期望的行为吗? 屏幕截图也会有所帮助。
如果我正确理解你的问题......
决定单元格出现在哪一行的是这些因素: 1. View 的大小 2. 细胞的大小 3. collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt 4.每个单元格之间的空间
例如,如果您采用纵向方向, View 宽度为 800,并且有 8 个单元格,每个单元格宽度为 100,并且每个单元格之间的间距为 10,则您的第 8 个单元格将位于第二行。
一种解决方案是根据(每行的 view.frame.width/numOfCells)考虑单元格的宽度,并考虑每个单元格之间的空间。
关于ios - UICollectionView 如何找到单元格结束的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50826984/