1

当我使用 RxSwift 填充 Collection View 时,CollectionView 单元格的分隔符没有出现。我正在使用 RxDataSources 而不是类函数。我相信这个函数drawSeparatorIfNeeded并没有在某个地方被调用,有什么解决方法吗?

集合视图准备:

private func prepareCollectionView() {
  styler.cellStyle = .card
  styler.separatorLineHeight = 3.0
  styler.separatorColor = UIColor(hex: "#eeeeee")
  styler.shouldHideSeparators = false
  collectionView?.backgroundColor = UIColor(hex: "#eeeeee")
  collectionView?.register(MDCCollectionViewTextCell.self, forCellWithReuseIdentifier: "eventCell")

  collectionView?.translatesAutoresizingMaskIntoConstraints = false

  collectionView?.topAnchor.constraint(equalTo: navigationBar.bottomAnchor).isActive = true
  collectionView?.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
  collectionView?.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
  collectionView?.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true

  collectionView?.layoutIfNeeded()
}

单元配置:

dataSource.configureCell = { _, collectionView, indexPath, model in
  let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "eventCell", for: indexPath) as! MDCCollectionViewTextCell
  cell.textLabel?.text = model
  cell.backgroundColor = .white
  return cell
}

细胞结合:

Observable.just(sections)
  .bindTo(collectionView!.rx.items(dataSource: dataSource))
  .addDisposableTo(disposeBag)

在 Reveal 中检查 CollectionView 显示分隔符 UIImageView 的高度为 0,但是当我使用 vanilla DataSource 方法时,它按预期工作。

4

0 回答 0