Быстрая перезагрузка CollectionView в заголовке Tableview с Xib - PullRequest
0 голосов
/ 30 декабря 2018

Я пытаюсь реализовать подробный вид продукта.Я использую табличное представление для сведений о продукте и решаю создать коллекционное представление для изображений продуктов в заголовке табличного представления.Я создаю Xib-файл, который включает в себя представление коллекции и 2 метки.И я реализовал этот Xib в заголовок таблицы.Я могу перезагрузить строки таблицы, но я не перезагрузил коллекцию в заголовке.

Как я могу перезагрузить этот коллекционный вид?

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

let sectionIndex = IndexSet(integer: 0)
self.tableView.reloadSections(sectionIndex, with: .none)

В viewDidLoad ()

if element.result.productImages?.count ?? 0 > 0 {
    for x in element.result.productImages! {
        print(x)
        self.productImages.append(x.imageUrl)
        self.productDetailHeaderView.productImagesCollectionView.reloadData()
    }
}

В CellForRowAt

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ProductImagesCollectionViewCell", for: indexPath) as! ProductImagesCollectionViewCell
    cell.productImage.sd_setImage(with: URL(string: "\(productImages[indexPath.row])"), placeholderImage: UIImage(named: "placeholder"))
    return cell
}

-

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

    let v : ProductDetailHeaderView = UIView.fromNib()
    productDetailHeaderView = v
    productDetailHeaderView.translatesAutoresizingMaskIntoConstraints = false

    productDetailHeaderView. productImagesCollectionView.register(UINib(nibName: "ProductImagesCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "ProductImagesCollectionViewCell")

    productDetailHeaderView.backgroundColor = .yellow


    return productDetailHeaderView
}

Заранее спасибо.

1 Ответ

0 голосов
/ 30 декабря 2018

Возможно, вам потребуется установить делегат и источник данных

productDetailHeaderView.productImagesCollectionView.register(UINib(nibName: "ProductImagesCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "ProductImagesCollectionViewCell")  
productDetailHeaderView.productImagesCollectionView.delegate = self 
productDetailHeaderView.productImagesCollectionView.dataSource = self
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...