Я хочу отобразить UICollectionViewCell, ширина которого фиксирована, а высота колеблется.
Из-за разбиения на страницы при увеличении количества элементов возникает проблема смещения позиции прокрутки.
Я пробовал это по-разному, но это не изменилось.
Вот код.(Только важные моменты)
final class OwnerTimelineViewController: UIViewController {
@IBOutlet private weak var collectionView: UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
if let flowLayout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout {
flowLayout.minimumLineSpacing = 16
flowLayout.sectionInset = UIEdgeInsets(top: 16, left: 16, bottom: 16, right: 16)
flowLayout.estimatedItemSize = CGSize(width: collectionView.bounds.width - 32,
height: 300)
}
collectionView.dataSource = self
collectionView.registerNib(type: TimelineImagesCollectionViewCell.self)
collectionView.registerNib(type: TimelineMessageCollectionViewCell.self)
}
}
final class TimelineImagesCollectionViewCell: UICollectionViewCell {
override func preferredLayoutAttributesFitting(_ layoutAttributes: UICollectionViewLayoutAttributes) -> UICollectionViewLayoutAttributes {
layoutIfNeeded()
let size = contentView.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize)
var frame = layoutAttributes.frame
frame.size.height = ceil(size.height)
layoutAttributes.frame = frame
return layoutAttributes
}
}
Как сделать так, чтобы он плавно прокручивался?