UICollectionView с подкачкой страниц, которая работает как для портрета, так и для пейзажа - PullRequest
0 голосов
/ 31 октября 2018

У меня есть проект с UICollectionView, который должен иметь подкачку страниц. Я установил horizontal scroll и paging enabled. MinimumInteritemSpacing равно 0. Мне нужно, чтобы ячейки были размером с представление коллекции, поэтому у меня есть:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {

    return collectionView.frame.size

}

Это правильно изменяет размеры ячеек как для портретной, так и для альбомной ориентации, но смещение при изменении ориентации является неправильным, и две ячейки будут отображаться одновременно. Каков хороший подход, чтобы иметь возможность видеть одну и ту же ячейку при изменении ориентации и чтобы она занимала весь вид коллекции?

Я попытался реализовать collectionView(_:targetContentOffsetForProposedContentOffset:) Это решит проблему, если вы остаетесь на одном экране, но при переходе на другой экран, повороте и возвращении к экрану представления коллекции будет ошибка - снова будут две частично видимые ячейки и смещение не будет желаемым. Вот почему я думаю, что должно быть другое решение этой проблемы.

...