В настоящее время я работаю над задачей, в которой предполагается расширение ячеек UICollectionView на основе метки внутри.Я написал ограничения программно для этого.Изменение размера происходит во время этого вызова.
override func preferredLayoutAttributedFitting(_ layoutAttributes: UICollectionViewLayoutAttributes) -> UICollectionViewLayoutAttributes {
setNeedsLayout()
layoutIfNeeded()
let size = contentView.systemLayoutSizeFitting(layoutAttributes.size)
var frame = layoutAttributes.frame
frame.size.width = ceil(size.width)
layoutAttributes.frame = frame
return layoutAttributes
}
Этот код работает нормально, как и ожидалось, однако, когда я пытаюсь повернуть ячейки, которые не появлялись до вращения, ячейки для них не расширяются.
Есть ли какой-либо вызов, который я могу сделать в cellForRowAtIndex или в другом месте, чтобы каждый раз вызывать этот предпочитаемый объект?
Или существует более простой процесс, чем этот, чтобы избежать этого вычисления и напрямую обновитьразмер ячейки?В макете обновлен смета для оценки, но мне все еще нужно вызывать этот метод.