如何在单元类中获取indexPath?

时间:2017-12-16 15:31:22

标签: ios swift uitableview uicollectionview

我正在尝试获取单元类中tableView单元格的indexPath。 我在表视图单元格中有一个collectionView,我正在尝试在collectionView单元格中创建标签,显示特定collectionView所在的tableView单元格的indexPath.row。

目前我有

var indexPathForCell: indexPath 

在我的手机课上。

然后在tableView类中,我在cellForRowAt indexpath

中有这个
cell.indexpathForCell = indexPath  
lbl.text = String(indexPathForCell.row)  

如果有“3”或更少的tableView单元格可以正常工作,但是如果有更多,那么第4行则显示“0”作为indexPathForcell.row,当我在collectionView中滚动时,数字会从“0”变为“0” “3”甚至显示“1”。然后每个单元格在滚动时显示不同的数字。

1 个答案:

答案 0 :(得分:0)

一个简单的解决方案是,在viewController的cellForItemAt方法集合内为单元格添加一个标记,例如

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "SignupSelectCourseCollectionViewCell", for: indexPath) as! SignupSelectCourseCollectionViewCell

    cell.tag = indexPath.row

    return cell
}

现在您可以像这样访问单元格类中的标记属性

    override var isSelected: Bool {
didSet {

    let indexPathRow = self.tag
 }
}