HeaderView和CollectionView之间的差距

时间:2017-01-10 14:09:17

标签: ios uicollectionview uicollectionviewlayout

我有一个奇怪的错误,我的集合视图和标题视图(UICollectionReusableView)之间存在很大差距。它看起来像这样:

enter image description here

蓝色突出显示的位是标题。

在下一张图片中,我突出显示了UICollectionView:

enter image description here

有人会认为这与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

1 个答案:

答案 0 :(得分:0)

如果您在故事板中,可以尝试选择UICollectionView"调整滚动视图插图的复选框"

您也可以尝试将其添加到视图控制器的viewDidLoad方法中:

collectionView.automaticallyAdjustsScrollViewInsets = false;