iOS10:在SectionHeader / SectionFooter上面排序的一些UICollectionViewCells?

时间:2017-05-11 12:36:39

标签: ios swift3 uicollectionview ios10

在两个独立的控制器中,我看到一种奇怪的行为,其中某些 UICollectionViewCells的z-index比粘性的SectionHeader或SectionFooter更高。当我滚动UICollectionView并且一些单元格通过页眉/页脚并且一些单元格传递(预期)时,它变得明显。

为了让事情更加混乱,它只是一些细胞,而不是所有细胞。它似乎只发生在reloadSections调用之后。我很难过。

我确信这在iOS9中并没有发生。

在下图中,您可以看到两个UICollectionViewCells(James / Chrys),它们之间是SectionFooter。因此,一个单元格在某种程度上是z-ordered上面,另一个单元格在下面。 enter image description here

更新:在检查了UICollectionView的视图层次结构后,我注意到第三次调用reloadSections后,一些UICollectionViewCells开始被放置在视图层次结构中的SectionHeader上方,而SectionHeader现在有了alpha = 0和hidden = YES,我从未设置过自己。

<MyProject.SectionHeaderCell: 0x7fd831420c50;  baseClass = UICollectionReusableView; frame = (0 552; 375 36);  text = 'HEADER TITLE TEXT'; alpha = 0; hidden = YES; layer = <CALayer: 0x60000043f7a0>>

更新我非常怀疑iOS10打破了reloadSections调用。我现在正在使用这个糟糕的解决方法来解决问题:

for view in _collectionView!.subviews {
  if view is SectionHeaderCell {
    _collectionView?.addSubview(view)
  }
}

0 个答案:

没有答案
相关问题