Как получить доступ к заголовку CollectionView при прокрутке с экрана (т.е. не отображается) - PullRequest
0 голосов
/ 30 октября 2019

У меня есть изображения в моих заголовках CollectionView и я хочу получить к ним доступ при нажатии кнопки.

Я использовал

 let cell = collectionView(collectionView, viewForSupplementaryElementOfKind: UICollectionView.elementKindSectionHeader, at: headerIndexPath) as? ListItemHeaderReusableView

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

Также пробовал

 let ncell = collectionView.supplementaryView(forElementKind: UICollectionView.elementKindSectionHeader, at: indexPath) as? ListItemHeaderReusableView

Это по какой-то причине возвращает ячейку на симуляторе, но возвращает ноль на устройстве.

Как получить доступ к заголовку, когда он не виден и контент не перезагружен.

1 Ответ

0 голосов
/ 30 октября 2019

Вы можете сохранить свой заголовок как свойство.

class ViewController: UIViewController {

    let header = ListItemHeaderReusableView()

     //  here is your custom collectionView header
     //  you have it as a property
     //  so you retain it, it will not be reloaded when you scroll

}

extension ViewController: UICollectionViewDataSource{

    func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
        // do some custom config
        return header
    }


    // more methods
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...