我有一个奇怪的错误,我的集合视图和标题视图(UICollectionReusableView
)之间存在很大差距。它看起来像这样:
蓝色突出显示的位是标题。
在下一张图片中,我突出显示了UICollectionView:
有人会认为这与sectionInset
有关,但我的测试似乎并非如此。所有插入都是0.如果我删除标题(或将heightForHeaderInSection
中的大小设置为0),问题就会消失。
我正在使用CHTCollectionViewWaterFallLayout library。
我的代码如下:
func viewDidLoad() {
...
collectionView.register(GridHeaderView.self, forSupplementaryViewOfKind: CHTCollectionElementKindSectionHeader, withReuseIdentifier: "albumInfoHeader")
...
}
func collectionView(_ collectionView: UICollectionView,
viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
let element = CHTCollectionElementKindSectionHeader
switch kind {
case CHTCollectionElementKindSectionHeader:
let headerView = collectionView.dequeueReusableSupplementaryView(ofKind: element,
withReuseIdentifier: "albumInfoHeader", for: indexPath) as! GridHeaderView
return headerView
default:
break
}
return UICollectionReusableView()
}
func colletionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout,
heightForHeaderInSection section: NSInteger) -> CGFloat {
switch section {
case 0:
return 49
default:
return 0
}
}
更新
我现在认为这是CHTCollectionViewWaterFallLayout
中的错误,并提交了bug
答案 0 :(得分:0)
如果您在故事板中,可以尝试选择UICollectionView"调整滚动视图插图的复选框"
您也可以尝试将其添加到视图控制器的viewDidLoad方法中:
collectionView.automaticallyAdjustsScrollViewInsets = false;