当我使用 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 方法时,它按预期工作。