Ios UICollectionView Swift中特定节的粘性标题
我试图为一个特定的部分创建一个粘性的补充标题,当特定的部分涉及到导航时,它始终位于顶部,不会与其他部分标题重叠。到目前为止,我找到的解决方案一直有效到900Ios UICollectionView Swift中特定节的粘性标题,ios,swift,uicollectionview,uicollectionviewlayout,contentoffset,Ios,Swift,Uicollectionview,Uicollectionviewlayout,Contentoffset,我试图为一个特定的部分创建一个粘性的补充标题,当特定的部分涉及到导航时,它始终位于顶部,不会与其他部分标题重叠。到目前为止,我找到的解决方案一直有效到900collectionView.contentOffset.y。我遵循这个代码 我必须设置sectionHeadersPinToVisibleBounds=false,因为我只想在顶部粘贴一个标题,同时根据位置上下滚动。其他节标题不应推出粘性标题 当我在Swift中这样做时,最好在Swift中有一个示例。这导致在for循环中迭代时标题的布局属性
collectionView.contentOffset.y
。我遵循这个代码
我必须设置sectionHeadersPinToVisibleBounds=false
,因为我只想在顶部粘贴一个标题,同时根据位置上下滚动。其他节标题不应推出粘性标题
当我在Swift中这样做时,最好在Swift中有一个示例。这导致在for循环中迭代时标题的布局属性不包括在属性数组中,从而导致布局位置不再调整为屏幕顶部的“粘性”位置 在for循环的正前方添加这些行,以将粘性标题的布局属性添加到属性数组(如果不存在):
重写函数布局属性ForElements(在rect:CGRect中)->[UICollectionViewLayoutAttribute]?{
变量LayoutAttribute=[UICollectionViewLayoutAttribute]()
guard let cellLayoutAttributesInRect=super.layoutAttributesForElements(in:rect)else{return nil}
//将粘性标题的布局属性添加到属性数组(如果不存在)
如果让stickyHeaderIndexPath=stickyHeaderIndexPath,
让stickyAttribute=layoutAttributesForSupplementaryView(of kind:UICollectionView.elementKindSectionHeader,at:stickyHeaderIndexPath),
!LayoutAttribute.contains(stickyAttribute){
layoutAttributes.append(stickyAttribute)
}
返回布局属性
}