获取不包括半透明导航栏下的indexPathsForVisibleItems()



我正在使用Swift 2.2开发一款针对iOS 8.0+的应用程序。我有一个UICollectionView,它根据设备方向显示不同数量的列。在viewWillTransitionToSize中,我使用indexPathsForVisibleItems()并找到最小的索引路径来确定第一个可见项目,并在方向更改时滚动到该项目。

除了indexPathsForVisibleItems()包括半透明导航栏下的项目,因此滚动可能会被几个单元格关闭之外,这一操作效果很好。有没有办法知道哪些单元格是可见的,而不是在导航栏下?

如果您想在旋转时滚动到特定的单元格,您可以在屏幕上获得该单元格的物理位置(取半透明导航栏的高度和单元格的y坐标)并调用indexPathForItemAtPoint。这将为您提供第一个实际可见的单元格(不在覆盖下)。然后,您可以告诉UICollectionView在旋转时滚动到该单元格。

相关内容

  • 没有找到相关文章

最新更新