UICollectionView粘贴标头不能正常工作iOS 10

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

我的集合视图中的粘性标题在iOS 10中无法解决。我有一个仅在第二部分中有标题的collectionView - 通过将第一部分中的大小设置为CGSize.zero并在第二节作为适当的大小:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize {
        if section == 0 {
            return CGSize.zero
        }
        return CGSize(width: collectionView.width, height: 80.0)

}

我在viewDidLoad中使用这些行使粘性标头变粘:

theCollectionView.delegate = self
theCollectionView.dataSource = self
if let flowLayout = theCollectionView.collectionViewLayout as? UICollectionViewFlowLayout {
    flowLayout.sectionHeadersPinToVisibleBounds = true
}

在iOS 11中一切都很好。当您向上滚动集合视图时,标题会粘到顶部。

但是,在iOS 10中,这不起作用。标题棒 - 但不是屏幕的顶部 - 它坚持它的初始位置,并且可以看到第二部分中的集合视图单元格在其下方滚动。屏幕顶部有一个间隙。我附上两个截图来说明我的问题。任何帮助将非常感激!

Initial View

Sticky Header does not scroll to top

ios10 uicollectionviewlayout
1个回答
0
投票

通过更改故事板中的顶部自动布局约束来修复。它从Collection View顶部设置到Safe Area顶部。从Collection View顶部更改为Superview顶部。

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