У меня есть UICollectionView, который составляет ровно 7 ячеек, между которыми нет отступов. Я сделал это, добавив макет потока без промежуточного или межстрочного интервала и рассчитав ширину следующим образом:
public func collectionView(
_ collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
sizeForItemAt indexPath: IndexPath
) -> CGSize {
return CGSize(
width: self.frame.width / CGFloat(7),
height: self.frame.height - headerHeight
)
}
Это фантастически работает в моем приложении для iPhone
, где вращение не включено. На iPad, когда в портретном режиме это работает нормально.
При повороте, во-первых, приложение не перерисовывается, я пытался аннулировать Layout, однако это не решило проблему. Я должен прокрутить вниз, и я получаю следующий макет
Когда я нажимаю на ячейку, она, тем не менее, перерисовывается, но с добавленным заполнением, сдвигая седьмую ячейку в другую строку.
Я хочу перерисовать ячейки, чтобы все 7 помещались в один ряд, когда приложение либо поворачивается, либо растёт и сокращается в режиме разделения. Как мне справиться с этим правильно?