Как вызвать правильный источник данных в методах UICollectionViewDataSource и UICollectionViewDelegateFlowLayout? - PullRequest
0 голосов
/ 23 апреля 2019

Внутри UITableViewController со статическими UITableViewCells я пытаюсь создать повторно используемую сетку с определенным количеством ячеек в строке, переменной шириной и высотой.

enter image description here

В Идентификация и устранение проблемы с автоматической разметкой по выводу журнала , было предложено, что UICollectionViews будет лучшим подходом.

Использование статических UICollectionViewCells согласно https://robkerr.com/how-to-create-a-static-uicollectionview/,Мне удалось настроить одну сетку представления коллекции.

НО, у меня возникают трудности с добавлением второй, отдельной и другой сетки в другой UITableViewCell.

Я думал, что смогусоздать отдельные выходы IB для UICollectionView, а затем использовать это для выбора используемых данных.

@IBOutlet weak var myCollectionView: UICollectionView!

@IBOutlet weak var endingsCV: UICollectionView!

extension NounsTVC: UICollectionViewDataSource
{
func collectionView( _ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
{
    if self == myCollectionView
    {
        print("myCollectionView", cellIds.count)
        return cellIds.count}
    else if self == endingsCV
    {
        print("endingsCV", cellIds2.count)
        return cellIds2.count
    }
}

Это происходит сбой без поиска идентификаторов повторного использования Представления коллекции.

Я пытался использоватьUICollectionView Identity Restoration ID, но у меня может быть неправильный синтаксис или размещение.

Как мне вызвать правильный источник данных to настроить ячейки в методах UICollectionViewDataSource и UICollectionViewDelegateFlowLayout?

1 Ответ

0 голосов
/ 24 апреля 2019

Я не уверен, что это лучший способ сделать это, но он работает, если я использую экземплярное представление представления коллекции вместо «self».

@IBOutlet weak var myCollectionView: UICollectionView!

@IBOutlet weak var endingsCV: UICollectionView!

extension NounsTVC: UICollectionViewDataSource
{
func collectionView( _ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
{
if myCollectionView == myCollectionView
{
    print("myCollectionView", cellIds.count)
    return cellIds.count}
else if endingsCV == endingsCV
{
    print("endingsCV", cellIds2.count)
    return cellIds2.count
} }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...