我有一个tableView,其中的单元格包含collectionView。现在,当我选择集合视图单元格的任何单元格时,我想获取tableview行索引
答案 0 :(得分:2)
创建UICollectionView
的子类并为其添加属性。
class MyCustomCollectionView: UICollectionView {
var parentTableViewIndexPath: IndexPath?
}
在表格视图单元格中使用此集合视图
class MyCustomTableViewCell: UITableViewCell {
@IBOutlet weak var customCollectionView: MyCustomCollectionView!
}
在表的cellForRow
方法中,设置indexPath属性
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "IDENTIFIER", for: indexPath) as! MyCustomTableViewCell
cell.customCollectionView.parentTableViewIndexPath = indexPath
//Any additional customisation
return cell
}
在您的collectionView的didSelectItemAt
中,这样访问indexPath
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
guard let tableIndexPath = (collectionView as? MyCustomCollectionView)?.parentTableViewIndexPath else { return }
}
答案 1 :(得分:1)
在cellForRowAt
内
cell.collectionView.tag = indexPath.row