У меня есть UICollectionView с макетом потока, в котором предполагаемый размер установлен на automaticSize
.
layout.estimatedItemSize = UICollectionViewFlowLayout.automaticSize
У меня есть входы UITextView в ячейках, и моя цель - иметь себяклетки размера. Таким образом, при каждом изменении текста на входе в ячейку я отменяю измененную ячейку в макете с контекстом.
let context = UICollectionViewFlowLayoutInvalidationContext()
context.invalidateFlowLayoutAttributes = false
context.invalidateItems(at: [indexPath])
collectionView.collectionViewLayout.invalidateLayout(with: context)
Чтобы получить правильную высоту ячейки, я переопределяю preferredLayoutAttributesFitting
в ячейках ивычисление высоты динамически. На iOS 12 работает вполне нормально, collectionView.collectionViewLayout.invalidateLayout(with: context)
заставляет preferredLayoutAttributesFitting
вызываться. Но на iOS 13 он не вызывается, если я не прокручиваю представление коллекции.
Я не смог найти ничего измененного в iOS 13 для UICollectionViewFlowLayoutInvalidationContext
, есть идеи?