UICollectionView с подкачкой страниц, которая работает как для портрета, так и для пейзажа
У меня есть проект, который имеет UICollectionView
который должен иметь пейджинг. Я поставил horizontal scroll
а также paging enabled
, MinimumInteritemSpacing
это 0. Мне нужно, чтобы ячейки были размером представления коллекции, поэтому у меня есть:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return collectionView.frame.size
}
Это правильно изменяет размеры ячеек как для портрета, так и для ландшафта, но смещение при изменении ориентации является неправильным, и две ячейки будут отображаться одновременно. Каков хороший подход, чтобы иметь возможность видеть одну и ту же ячейку при изменении ориентации и чтобы она занимала весь вид коллекции?
Я пытался реализовать collectionView(_:targetContentOffsetForProposedContentOffset:)
Это исправит проблему, если вы останетесь на одном экране, но при переходе на другой экран, повороте и возвращении к экрану представления коллекции будет ошибка - снова будут две частично видимые ячейки, и смещение не будет желаемой. Вот почему я думаю, что должно быть другое решение этой проблемы.