UICollectionView无法遵守zPosition和zIndex - 仅限iOS 11

问题描述 投票:5回答:1

我试图找到这种雷达的解决方法:http://www.openradar.me/34308893

目前在我的- (void)applyLayoutAttributes:(UICollectionViewLayoutAttributes *)layoutAttributes我正在做以下事情:

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_MSEC * 50), dispatch_get_main_queue(), ^{
    self.layer.zPosition = 0;
});

但无论我输入多少NSEC_PER_MSEC它都不能正常工作,滚动指示器有时会隐藏在标题后面,尤其是当出现ne标题时。还有其他/更好的方法吗?

uicollectionview ios11
1个回答
7
投票

我有一个类似的问题,其中UICollectionView中的标题视图在另一个视图上呈现,该视图在自定义zIndex中将UICollectionViewFlowLayout设置为> 0。

我的答案是在zPosition中设置标题视图图层的willDisplaySupplementaryView

override public func collectionView(_ collectionView: UICollectionView,
                                    willDisplaySupplementaryView view: UICollectionReusableView,
                                    forElementKind elementKind: String,
                                    at indexPath: IndexPath) {
    if elementKind == UICollectionView.elementKindSectionHeader && type(of: view) == CollectionViewSectionHeaderView.self {
      view.layer.zPosition = -1
    }
  }

iOS11似乎不尊重UICollectionViewFlowLayout子类中的z索引。

© www.soinside.com 2019 - 2024. All rights reserved.