Можем ли мы указать количество строк, которые могут быть показаны в каждом разделе представления коллекции - PullRequest
0 голосов
/ 18 июня 2019

В настоящее время я работаю над приложением TvOS, в этом у меня есть одно представление коллекции с несколькими sections и под ним несколько rows. Можно ли будет ограничить число строк в разделе 1?

Я пытался использовать minimumLineSpacingForSectionAt делегат функции

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
   return 1
}

Это не работает, и если я пытаюсь переместить фокус, строка в разделе ниже также начинает двигаться. Пожалуйста, помогите мне найти решение этой проблемы.

Ответы [ 3 ]

2 голосов
/ 18 июня 2019

minimumLineSpacingForSectionAt не имеет никакого отношения к количеству секций или строк.

Вы должны поддерживать массив источника данных, чтобы каждый массив секций содержал только один элемент.

Или, если вына самом деле массив одномерных источников данных возвращает 1 в numberOfRows и datasourcearray.count в numberOfSections.Тогда у вас есть datasourcearray.count разделов с одной строкой соответственно.

0 голосов
/ 18 июня 2019

Вам нужно,

  1. return 1 в UICollectionViewDataSource's collectionView(_:numberOfItemsInSection:) методе и
  2. return sectionsCount в numberOfSections(in:), где sectionsCount - это общее количество секций.

Это то, что вы должны реализовать, чтобы получить эту работу,

func numberOfSections(in collectionView: UICollectionView) -> Int {
    return sectionsCount
}

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return 1
}

Реализованный вами метод имеет другое назначение ине определяет items/sections в collectionView.

collectionView (_ :, layout:, минимумLineSpacingForSectionAt:)

Запрашивает у делегатарасстояние между последовательными строками или столбцами сечения.

0 голосов
/ 18 июня 2019

Для этого вам нужно использовать собственный макет. Пожалуйста, обратитесь к этой ссылке для примера, как Pinterest в Swift 4

Аналогичный вопрос: Пользовательский макет для представления коллекции в Swift?

...