我正在尝试获取单元类中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”。然后每个单元格在滚动时显示不同的数字。
答案 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
}
}