RxSwift - Как сохранить contentOffSet и выбор UICollectionView при изменении источника данных - PullRequest
1 голос
/ 31 октября 2019

Когда бы ни происходило событие на моих элементах Observable, выбор и contentOffset на UICollectionView исчезали. Вот мой обязательный код:

items.bind(to: collectionView.rx.items) { [weak self] collectionView, item, model in
            guard let `self` = self else { return UICollectionViewCell() }
            let cell = collectionView.dequeueReusableCell(withReuseIdentifier: MyCollectionViewCell.reuseIdentifier, for: IndexPath(item: item, section: 0)) as! MyCollectionViewCell
            cell.configure(with: model)
            return cell
            }.disposed(by: disposeBag)

Я хочу, чтобы элементы добавлялись и сохраняли contentOffset и выбор как есть.

1 Ответ

0 голосов
/ 31 октября 2019

При использовании RxDataSources обязательно используйте RxCollectionViewSectionedAnimatedDataSource, который обрабатывает, идентифицируя, какие ячейки были фактически обновлены. RxCollectionViewSectionedAnimatedDataSource требует, чтобы элемент был типа IdentifiableType, поэтому, пожалуйста, также убедитесь, что идентичность каждого элемента на самом деле уникальна.

...