favouriteLayoutAttributesFitting не вызывается при аннулировании макета представления коллекции с контекстом в iOS 13 - PullRequest
0 голосов
/ 31 октября 2019

У меня есть 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, есть идеи?

...