gpt4 book ai didi

ios - 未调用 TableViewCell 内的 UICollectionView

转载 作者:可可西里 更新时间:2023-11-01 00:57:09 24 4
gpt4 key购买 nike

我有一个 UITableView 在每个单元格中都包含一个水平滚动的 UICollectionView

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! ServiceTypeCell
cell.collectionView.delegate = self
cell.collectionView.dataSource = self
cell.lblName.text = serviceTypes[indexPath.row].name
cell.tag = getTag(indexPath)
print("uitableviewcell : \(indexPath)")
return cell
}

并且在每个 UICollectionViews 中

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

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
let cell = collectionView.superview?.superview as! ServiceTypeCell
let indexPath = getIndexPath(cell.tag)
print("uitableviewcell from uicollectionview : \(indexPath)")
return serviceTypes[indexPath.row].services.count
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let tableViewCell = collectionView.superview?.superview as! ServiceTypeCell
let tableViewIndexPath = getIndexPath(tableViewCell.tag)
let service = serviceTypes[tableViewIndexPath.row].services[indexPath.row]
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! ServiceTypeDetailCell
cell.lblName.text = service.name
return cell
}

我的问题是 UICollectionView 数据源仅在 UITableViewCell 索引 0 到 3 之间调用。为什么会发生这种情况?

我的打印调试结果是这样的

uitableviewcell : [0, 0]
uitableviewcell from uicollectionview : [0, 0]
uitableviewcell : [0, 1]
uitableviewcell from uicollectionview : [0, 1]
uitableviewcell : [0, 2]
uitableviewcell from uicollectionview : [0, 2]
uitableviewcell : [0, 3]
uitableviewcell from uicollectionview : [0, 3]
uitableviewcell : [0, 4]
uitableviewcell : [0, 5]
uitableviewcell : [0, 6]

最佳答案

不确定,这是否可以解决您的问题,但花了这么多时间终于找到了为什么CollectionView delgate 方法在调用时不被调用的答案嵌入 TableView 中:

我们基本上使用这两个:

  • UICollectionViewDataSource

  • UICollectionViewDelegate

但忘记符合这个:UICollectionViewDelegateFlowLayout

在符合这个(UICollectionViewDelegateFlowLayout)之后确实解决了我的问题。

希望它也能解决其他问题。请随时发表评论并分享您的反馈。谢谢。

关于ios - 未调用 TableViewCell 内的 UICollectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43995444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com