Укажите размеры конкретных ячеек в UICollectionViewController? - PullRequest
0 голосов
/ 08 октября 2018

У меня есть раскадровка с UICollectionViewController с прототипами клеток.Размер ячейки не указывается напрямую, и это вызывает случайные ошибки пользовательского интерфейса, такие как растяжение анимации ячейки.Я хочу установить размер напрямую, но я не нашел, как это сделать в Xcode 10 (и последний Swift).Как решить эту проблему?

Примечание. Я знаю о существовании UICollectionViewDelegateFlowLayout , но не знаю, как применить его к UICollectionViewController.

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Если вы используете UICollectionViewFlowLayout:

  1. Создайте UICollectionViewController или UIViewController, который содержит UICollectionView экземпляр для принятия UICollectionViewDelegateFlowLayout

    class MyAwesomeCollectionViewControler: UIViewController, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout 
    

    {...}

  2. Реализуйте метод ниже:

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        return CGSize(width: 100, height: 100) // Return desired size here}
    
0 голосов
/ 08 октября 2018

Выяснили, что доступно 2 вида макетов - «поток» и «пользовательский» (эти имена отображаются в конструкторе интерфейсов).

Короче, если вы планируете использовать UICollectionViewDelegateFlowLayout и его простойметод "размер для элемента", то вы должны выбрать "поток"

...