Ios UICollectionView单元格选择问题-加载视图时,只能选择可见区域中的单元格

Ios UICollectionView单元格选择问题-加载视图时,只能选择可见区域中的单元格,ios,uicollectionview,selection,uicollectionviewcell,Ios,Uicollectionview,Selection,Uicollectionviewcell,我正在尝试使用UICollectionView为我的应用程序开发一个日历 我使用定制的UICollectioViewLayout来显示每个单元格,效果很好!!每个细胞都显示在正确的位置 为了显示每个事件的更多信息,我实现了[didSelectItemAtIndexPath]方法和[prepareForSegue]方法,以触发一个popover视图,在用户触摸单元格时显示数据 但是,只能选择首次加载collectionview时在可见区域中不显示的单元格 我的意思是collectionview的

我正在尝试使用UICollectionView为我的应用程序开发一个日历

我使用定制的UICollectioViewLayout来显示每个单元格,效果很好!!每个细胞都显示在正确的位置

为了显示每个事件的更多信息,我实现了[didSelectItemAtIndexPath]方法和[prepareForSegue]方法,以触发一个popover视图,在用户触摸单元格时显示数据

但是,只能选择首次加载collectionview时在可见区域中不显示的单元格

我的意思是collectionview的contentsize是[1560340],collectionview的帧大小是[560340]。因此,此集合视图可以垂直滚动。我发现如果单元格的位置高于[560340](例如[30340]),则无法选择此单元格。如果单元格的位置低于[560340],用户触摸这些单元格可以触发didSelectItemAtIndexPath方法并显示popoverview


我完全不知道出了什么问题。有人遇到过类似的问题吗?

我发现问题可能来自zIndex

在我最初的设计中。时间标签和两条垂直线(UILabel的边界线)通过补充视图显示。事件由UICollectionViewCell显示。我发现,如果删除“补充”视图,则可以正确选择所有单元格。因此,我接下来尝试通过UICollectionViewCell显示所有内容(事件、行、时间)。然而,选择问题仍然存在。最后,我发现有一个名为zIndex的参数。我将显示事件的单元格的zIndex设置为1,将其他单元格的zIndex设置为0后,选择问题就消失了。一切都很完美


虽然我没有尝试,但我认为,在我最初的设计中,如果我将SupplementaryView的zIndex设置为0,可能会解决选择问题。

如果向下滚动,然后再次向上滚动,您仍然可以选择第一个项目吗?