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