У меня есть проблема, похожая на UICollectionView Заголовки и нижние колонтитулы раздела отображаются неправильно - iOS : Раздел 1 в значительной степени неуместен на iPad 9.7 "
Раздел отлично выравнивается на 4-6"ers
Моя раскладка:
lazy var layout: UICollectionViewFlowLayout = {
let layout = PayCollectionFlowLayout()
let w = self.view.bounds.size.width
let es = CGSize(width: 286, height: 174)
layout.estimatedItemSize = es
layout.headerReferenceSize = CGSize(width: w, height: 44)
return layout
}()
UPD: Когда я обдумал константы здесь:
func collectionView(_ collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
sizeForItemAt indexPath: IndexPath) -> CGSize {
let w = collectionView.bounds.size.width
// random junk that's narrower than 286 for 4"er
return CGSize(width: w - 40, height: 84)
}
Он прекратил и прекратил размещение этого раздела в случайном месте.Кажется, он чувствителен к sizeForItemAt indexPath, чтобы вернуть правильную высоту элемента, подобного iOS, до того, как 11 был чувствителен к оценочной высоте для строк, отличных от 0. Дело в том, что
collectionView(_ collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
sizeForItemAt indexPath: IndexPath)
Я вызывал waaaaay до того, какрассчитает размер элемента в зависимости от динамического типа для меток в ячейках.