Это, вероятно, из-за системы повторного использования ячеек в UITableView
. Правильно ли настроены ваши данные при настройке ячейки? Вы звоните CollectionView
reloadData()
?
РЕДАКТИРОВАТЬ : Вы должны позвонить в tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
, где вы настраиваете свою ячейку. Таким образом, каждый раз, когда ячейка используется повторно, вы обновляете ее содержимое.
EDIT 2 : Как я уже сказал, попробуйте добавить представление коллекции reloadData()
при настройке ячейки табличного представления. ,Вы также должны очистить свой источник данных и делегировать, потому что это повторно используемая ячейка, поэтому она, возможно, уже использовалась с другим значением.
if (item.IsImagePoint)
{
cell.ImagesCollectionView.DataSource = new ItemsDataSource(item.Images, cell.ImagesCollectionView);
cell.ImagesCollectionView.Delegate = new ItemsDelegate(item, _view);
}
else
{
cell.ImagesCollectionView.DataSource = null;
cell.ImagesCollectionView.Delegate = null;
}
cell.ImagesCollectionView.ReloadData()
return cell;