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:) Это исправит проблему, если вы останетесь на одном экране, но при переходе на другой экран, повороте и возвращении к экрану представления коллекции будет ошибка - снова будут две частично видимые ячейки, и смещение не будет желаемой. Вот почему я думаю, что должно быть другое решение этой проблемы.

0 ответов

Другие вопросы по тегам