我在UICollectionView中有一个UIIMageViewUICollectionViewCell

UICollectionViewUITableViewCell内,我想显示Venue中特定UITableViewCell的所有图像(保存在URL字符串数组轮播样式中)。

这是我的tableView cellForRowAt,它完美显示了Venues

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    guard let cell = tableView.dequeueReusableCell(withIdentifier: "VenueListingCell", for: indexPath) as? VenueListingCell else { return UITableViewCell() }

    let venueCurrent = filteredVenueArray[indexPath.row]

    venueLoaded = venueCurrent //copy into var to be used in collectionView

    cell.configureCell(venue: venueCurrent)

    cell.selectionStyle = .none

    return cell
}


这是我的CollectionView cellForItemAt函数。

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "VenueListingCellImage", for: indexPath) as! VenueListingCellImage

    let imgURL = URL(string: (venueLoaded?.imgURLs[indexPath.row])!)

    cell.configureCell(url: imgURL!)

    return cell
}


问题:

如何确保在UICollectionView中使用正确的Venue图像?

最佳答案

在这里,我向您提供了如何在UICollectionView中实现VenueListingCell的方案。

首先,在创建时,应在Venue自定义类中创建VenueListingCell对象。

现在,每个venue的indexPath都有VenueListingCell对象。

awakeFromNib()中,设置您的

collectionView.delegate = self
collectionView.dataSource = self


VenueListingCell自定义类中,

datasource自定义类中实现delegate的所有UICollectionViewVenueListingCell方法。

如有任何疑问,请通知我。

10-08 05:49
查看更多