Проблема с layout после вставки секции в UICollectionView

Проблема происходит при вставке секции. (Если я вставляю просто ячейки, проблем не возникает)

введите сюда описание изображения

Заголовки у меня имеют константный размер.

  func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize{
    return CGSize(width: view.bounds.width, height: 50)
  }

У ячейки константная ширина. И динамическая высота за счет Estimate Size - Automatic

class NewDialogCell: UICollectionViewCell {

  @IBOutlet weak var labelText: UILabel!
  @IBOutlet weak var newDialogConstraintWidth: NSLayoutConstraint!

  override func awakeFromNib() {
    newDialogConstraintWidth.constant = UIScreen.main.bounds.width
  }

}

Вот таким методом происходит вставка.

collectionView.performBatchUpdates({
  if resultTuple.isSection {
    let indexSet = IndexSet(integer: resultTuple.indexPath.section)
    collectionView.insertSections(indexSet)
  } else {
    collectionView.insertItems(at: [resultTuple.indexPath])
  }
}) { [weak self] isComplition in
  self?.collectionView.scrollToItem(at: resultTuple.indexPath, at: .bottom, animated: true)
}

В тюпле находится булевый параметр, определяющий обновлять секцию или ячейку и indexPath вставляемой ячейки.

Заранее прошу не предлагать решения типо заменить вставку ячеек на collectionView.reloadData()

Очень надеюсь на вашу помощь! Заранее благодарю!


Ответы (0 шт):